SGBD

13
A) A letra A está errada pois afirma que um SGBD é um ambiente de suporte ao desenvolvimento de projetos de dados relacionais. Não é bem assim. Um SGBD é um sistema de gerenciamento que envolve dados, hardware, software e pessoas. É implementado para gerenciar várias bases de dados de uma organização não se limitando apenas ao modelo relacional, como afirma a segunda parte da alternativa. Temos também sistemas gerenciadores para os modelos orientado a objetos, rede, registros, etc. B) Letra B - Errada. O JDBC não é um SGBD, e sim um conector, ou um padrão que define uma API para que os programadores Java possam se conectar a um servidor de banco de dados. Programadores que utilizam outras linguagens em seus aplicativos, devem usar o conector correspondente à linguagem usada. C) Letra C - Errada. Um SGBD não gerencia uma base de dados baseadas em arquivos de texto ou binários. Isso era realizado por sistemas de arquivos de sistemas operacionais. O SGBD gerencia os dados em tabelas (relações), objetos e outras estruturas complexas. Para esse gerenciamento, é suportado não apenas o formato UNICODE ou ASCII D) Letra D - Errada. É só lembrar que você pode ter um SGBD local para gerenciamento de bases de dados também locais. E) Letra E - Certa. É a melhor definição para a questão. Simples e verdadeira. Os SGBDS admitem uma ou duas abordagens para segurança de dados. Essas abordagens são conhecidas como controle discricionário e controle mandatário. No controle discricionário o usuário terá em geral direito de acesso (ou privilégios) diferentes sobre os objetos diferentes. E além disso com poucas limitações, ou seja, limitações inerentes sobre os quais usuários podem ter direitos sobre quais objetos. Por exemplo, o usuário UI pode ser capaz de ver A, mas não pode ver B, enquanto o usuário U2 pode ser capaz de ver B, mas não A. Já no caso do controle mandatário cada objeto é assimilado com um certo nível de classificação, e cada usuário recebe um certo nível de liberação. O

Transcript of SGBD

A)A letra A est errada pois afirma que um SGBD um ambiente de suporte ao desenvolvimento de projetos de dados relacionais. No bem assim. Um SGBD um sistema de gerenciamento que envolvedados,hardware,softwareepessoas. implementado para gerenciar vrias bases de dados de uma organizao no se limitando apenas ao modelo relacional, como afirma a segunda parte da alternativa. Temos tambm sistemas gerenciadores para os modelos orientado a objetos, rede, registros, etc.

B)Letra B - Errada. O JDBC no um SGBD, e sim umconector, ou um padro que define uma API para que os programadores Java possam se conectar a um servidor de banco de dados. Programadores que utilizam outras linguagens em seus aplicativos, devem usar o conector correspondente linguagem usada.

C)Letra C - Errada. Um SGBD no gerencia uma base de dados baseadas em arquivos de texto ou binrios. Isso era realizado por sistemas de arquivos de sistemas operacionais. O SGBD gerencia os dados em tabelas (relaes), objetos e outras estruturas complexas. Para esse gerenciamento, suportado no apenas o formato UNICODE ou ASCII

D)Letra D - Errada. s lembrar que voc pode ter um SGBD local para gerenciamento de bases de dados tambm locais.

E)Letra E - Certa. a melhor definio para a questo. Simples e verdadeira.

Os SGBDS admitem uma ou duas abordagens para segurana de dados. Essas abordagens so conhecidas comocontrole discricionrio e controle mandatrio.Nocontrole discricionrioo usurio ter em geral direito de acesso (ou privilgios) diferentes sobre os objetos diferentes. E alm disso com poucas limitaes, ou seja, limitaes inerentes sobre os quais usurios podem ter direitos sobre quais objetos. Por exemplo, o usurio UI pode ser capaz de ver A, mas no pode ver B, enquanto o usurio U2 pode ser capaz de ver B, mas no A.J no caso docontrole mandatriocada objeto assimilado com um certo nvel de classificao, e cada usurio recebe um certo nvel de liberao. O acesso a um determinado objeto de dados s pode ser feito por usurios com a liberao apropriada. Os esquemas mandatrios tendem assim a ser hierrquicos por natureza e, desse modo, comparativamente rgidos. Por exemplo, se o usurio UI pode ver A mas no B, ento a classificao de B deve ser maior que a de A, e ento nenhum usurio U2 poder ver B sem poder ver A.(DATE, 2000)

A) Drop Index (DDL) e Alter table (DDL)B) Create Index (DDL) e Insert Into (DML)C) Delete (DML) e Select (DML)D) Update (DML) e Drop Table (DDL)E) Insert into (DML) e Create Table (DDL)

Chave Primria:Atributo ou combinao de atributos que possuem a propriedade de identificar de forma nica uma linha da tabela. Corresponde a um atributo determinante.

Achave estrangeiraocorre quando um atributo de uma relao for chave primria em outra relao.

Chave Candidata:Ocorrem quando em uma relao existe mais de uma combinao de atributos possuindo a propriedade de identificao nica.Umachave compostacorresponde combinao de duas ou mais chaves, e pode ser necessria para eliminar a ambiguidade, formando um identificador nico.

Classificao dos SGBDsO principal critrio para se classificar um SGBD o modelo de dados no qual baseado. A grande maioria dos SGBDs contemporneos so baseados nomodelo relacional, alguns emmodelos conceituaise alguns emmodelos orientados a objetos. Outras classificaes so: Usurios: um SGBD pode ser mono-usurio, comumente utilizado em computadores pessoais ou multi-usurios, utilizado em estaes de trabalho, mini-computadores e mquinas de grande porte; Localizao: um SGBD pode ser localizado ou distribudo; se ele for localizado, ento todos os dados estaro em uma mquina (ou em um nico disco) ou distribudo, onde os dados estaro distribudos por diversas mquinas (ou diversos discos); Ambiente: ambiente homogneo o ambiente composto por um nico SGBD e um ambiente heterogneo o ambiente compostos por diferentes SGBDs."

DDLQuando voc cria um banco de dados, ele inicialmente est vazio; antes de comear a consultar e alterar dados preciso definir onde e como as informaes sero gravadas dentro do novo banco; ento voc cria diversas tabelas explicitando o tipo de dados de cada campo, as chaves estrangeiras, os ndices, as regras e etc. Estes comandos de criao e alterao de estrutura so os comandos de DEFINIO dos dados, pois definem como os dados sero armazenados; em ingls so chamados de:Data Definition Language(DDL). Logo, quando falamos em comandos do tipoDDLestamos falando de comandos do tipo: CREATE, ALTER ou DROP; comandos que criam, alteram ou excluem objetos como tabelas, procedures, ndices, relacionamentos e etc.

Os SGBD possui algumas caractersticas operacionais elementares, listadas a seguir:1. Controle de Redundncias-A redundncia consiste no armazenamento de uma mesma informao em locais diferentes, provocando inconsistncias. Em um Banco de Dados as informaes s se encontram armazenadas em um nico local, no existindo duplicao descontrolada dos dados. Quando existem replicaes dos dados, estas so decorrentes do processo de armazenagem tpica do ambiente Cliente-Servidor, totalmente sob controle do Banco de Dados.2. Compartilhamento dos Dados - O SGBD deve incluir software de controle de concorrncia ao acesso dos dados, garantindo em qualquer tipo de situao a escrita/leitura de dados sem erros.3. Controle de Acesso - O SGDB deve dispor de recursos que possibilitem selecionar a autoridade de cada usurio. Assim um usurio poder realizar qualquer tipo de acesso, outros podero ler alguns dados e atualizar outros e outros ainda podero somente acessar um conjunto restrito de dados para escrita e leitura.4. Backups - O SGBD dever apresentar facilidade para recuperar falhas de hardware e software, atravs da existncia de arquivos de "pr-imagem" ou de outros recursos automticos, exigindo minimamente a interveno de pessoal tcnico.

UmSistema Gerenciador de Banco de Dados, oconjunto de programas(softwares) que compe a camada responsvel pelo armazenamento, e recuperao dos dados noSistema de Informao. O objetivo principal retirar da camada da Aplicao (vejadicasredes) a responsabilidade dessas tarefas provendo um ambiente mais seguro, mais fcil de manter-se e mais confivel. A interface entre essas duas camadas a uma linguagem padro para consulta, manipulao e controle de acesso aos dados. Atualmente a linguagem mais utilizada para essa interface oSQL-Structured Query Language.Existem diversos SGDBs em uso atualmente, que atendem as mais diferentes necessidades, desde os proprietrios comoSQL-Server,Oracle, como aos software Livres comoMySQL,Firebird.Existem diversos tipos de SGBDs, depequenos sistemasque rodam emcomputadores pessoaisa gigantescos sistemas que rodam emmainframes. No entanto, preciso saber primeiro o que Banco de dados. do que trataremos a seguir.

Conceitos Fundamentais de Banco de DadosConceitos BsicosSegundoKorth, um banco de dados uma coleo de dados inter-relacionados, representando informaessobreum domnio especfico, ou seja, sempre que for possvel agrupar informaes que se relacionam e tratam de um mesmo assunto, posso dizer que tenho um banco de dados.Podemos exemplificar situaes clssicas como uma lista telefnica, um catlogo de CDs ou um sistema de controle de RH de uma empresa.J um sistema de gerenciamento de banco de dados (SGBD) um software que possui recursos capazes de manipular as informaes do banco de dados e interagir com o usurio. Exemplos de SGBDs so: Oracle, SQL Server, DB2, PostgreSQL, MySQL, o prprio Access ou Paradox, entre outros.Por ltimo, temos que conceituar um sistema de banco de dados como o conjunto de quatro componentes bsicos: dados, hardware, software e usurios.Dateconceituou que sistema de bancos de dados pode ser considerado como uma sala de arquivos eletrnica. AFigura 1ilustra os componentes de um sistema de banco de dados.

Figura 1. Componentes de um sistema de banco de dados.Os objetivos de um sistema de banco de dados so o de isolar o usurio dos detalhes internos do banco de dados (promover aabstrao de dados) e promover a independncia dos dados em relao s aplicaes, ou seja, tornar independente da aplicao, a estratgia de acesso e a forma de armazenamento.Abstrao de dadosO sistema de banco de dados deve garantir uma viso totalmente abstrata do banco de dados para o usurio, ou seja, para o usurio do banco de dados pouco importa qualunidade de armazenamentoest sendo usada para guardar seus dados, contanto que os mesmos estejam disponveis no momento necessrio.Esta abstrao se d em trs nveis (Figura 2): Nvel de viso do usurio: as partes do banco de dados que o usurio tem acesso deacordo coma necessidade individual de cada usurio ougrupo de usurios; Nvel conceitual: define quais os dados que esto armazenados e qual o relacionamento entre eles; Nvel fsico: onvel mais baixode abstrao, em que define efetivamente de que maneira os dados esto armazenados.

Figura 2. Nveis de abstrao.Projeto de bancode dadosTodo bom sistema de banco de dados deve apresentar um projeto, que visa a organizao das informaes e utilizao de tcnicas para que o futuro sistema obtenha boa performance e tambm facilite infinitamente as manutenes que venham a acontecer.O projeto de banco de dados se d em duas fases: Modelagem conceitual; Projeto lgico.Estas duas etapas se referem a um sistema de banco de dados ainda no implementado, ou seja, que ainda no exista, um novo projeto. Para os casos em que o banco de dados j exista, mas um sistema legado, por exemplo, ou um sistema muito antigo sem documentao, oprocesso de projetode banco de dados se dar atravs da utilizao de uma tcnica chamada de Engenharia Reversa, que ser visto em outra oportunidade.Modelo conceitual a descrio do BD de maneira independente ao SGBD, ou seja, define quais os dados que aparecero no BD, mas sem se importar com a implementao que se dar ao BD. Desta forma, h uma abstrao em nvel de SGBD.Uma das tcnicas mais utilizadas dentre os profissionais da rea a abordagem entidade-relacionamento (ER), onde o modelo representado graficamente atravs do diagrama entidade-relacionamento (DER) (Figura 3).

Figura 3.Exemplo de diagramaentidade-relacionamento.O modelo acima, entre outras coisas, nos traz informaes sobre Alunos e Turmas. Para cada Aluno, ser armazenado seunmero de matrcula, seu nome e endereo, enquanto para cada turma, teremos a informao de seu cdigo, a sala utilizada e o perodo.Modelo LgicoDescreve o BD no nvel do SGBD, ou seja, depende do tipo particular de SGBD que ser usado. No podemos confundir com o Software que ser usado. O tipo de SGBD que o modelo lgico trata se o mesmo relacional,orientado a objetos, hierrquico, etc.Abordaremos o SGBD relacional, por serem os mais difundidos. Nele, os dados so organizados em tabelas (Quadro 1).Aluno

mat_alunonomeendereco

1Ceclia Ortiz RezendeRua dos Ips, 37

2Ablio Jos DiasAvenida Presidente Jnio Quadros, 357

3Renata Oliveira FrancoRua Nove de Julho, 45

Turma

cod_turmasalaperiodo

18Manh

25Noite

Quadro 1. Exemplo de tabelas em um SGBD relacional.O modelo lgico do BD relacional deve definir quais as tabelas e o nome das colunas que compem estas tabelas.Para o nosso exemplo, poderamos definir nosso modelo lgico conforme o seguinte:Aluno(mat_aluno, nome, endereco)Turma (cod_turma, sala, periodo) importante salientar que os detalhes internos de armazenamento, por exemplo, no so descritos no modelo lgico, pois estas informaes fazem parte do modelo fsico, que nada mais que a traduo do modelo lgico para a linguagem do software escolhido para implementar o sistema.ConclusesNesta primeira coluna, abordei os conceitos bsicos de banco de dados. Estes conceitos so os primeiros passos para se aventurar em projetos de bancos de dados. Vimos algumas terminologias e conceitos que so importantes para iniciar um projeto de maneira a documentar todas as etapas tendo assim, uma ferramenta de apoio fundamental para a implementao e manuteno futura no sistema.Vantagens e desvantagens do uso de um SGBDControle de RedundnciaNo processamento tradicional de arquivos, cada grupo de usurios deve manter seu prprio conjunto de arquivos e dados. Desta forma, acaba ocorrendo redundncias que prejudicam o sistema com problemas como:toda vez que for necessrio atualizar um arquivo de um grupo, ento todos os grupos devem ser atualizados para manter a integridade dos dados no ambiente como um todo;a redundncia desnecessria de dados levam ao armazenamento excessivo de informaes, ocupando espao que poderia estar sendo utilizado com outras informaes.Compartilhamento de DadosUm SGBD multi-usurio deve permitir que mltiplos usurios acessem o banco de dados ao mesmo tempo. Este fator essencial para que mltiplas aplicaes integradas possam acessar o banco.O SGBD multi-usurio deve manter o controle de concorrncia para assegurar que o resultado de atualizaes sejam corretos. Um banco de dados multi-usurios deve fornecer recursos para a construo de mltiplas vises.Restrio a Acesso no AutorizadoUm SGBD deve fornece um subsistema de autorizao e segurana, o qual utilizado pelo DBA para criar contas e especificar as restries destas contas; o controle de restries se aplica tanto ao acesso aos dados quanto ao uso de softwares inerentes ao SGBDRepresentao de Relacionamentos Complexos entre DadosUm banco de dados pode incluir uma variedade de dados que esto interrelacionados de vrias formas. Um SGBD deve fornecer recursos para se representar uma grande variedade de relacionamentos entre os dados, bem como, recuperar e atualizar os dados de maneira prtica e eficiente.Tolerncia a FalhasUm SGBD deve fornecer recursos para recuperao de falhas tanto de software quanto de hardware.Quando no Utilizar um SGBDEm algumas situaes, o uso de um SGBD pode representar uma carga desnecessria aos custos quando comparado abordagem processamento tradicional de arquivos como por exemplo:alto investimentoinicialna compra de software e hardware adicionais;generalidade que um SGBD fornece na definio e processamento de dados;sobrecarga na proviso de controle de segurana, controle de concorrncia, recuperao e integrao de funes.Problemas adicionais podem surgir caso os projetistas de banco de dados ou os administradores de banco de dados no elaborem os projetos corretamente ou se as aplicaes no so implementadas de forma apropriada. Se o DBA no administrar o banco de dados de forma apropriada, tanto a segurana quanto a integridade dos sistemas podem ser comprometidas. A sobrecarga causada pelo uso de um SGBD e a m administrao justificam a utilizao da abordagem processamento tradicional de arquivos em casos como:o banco de dados e as aplicaes so simples, bem definidas e no se espera mudanas no projeto;a necessidade de processamento em tempo real de certas aplicaes, que so terrivelmente prejudicadas pela sobrecarga causada pelo uso de um SGBD;no haver mltiplo acesso ao banco de dados.OBS: J est disponvel para download a apostila completa (com mdulo avanado de BD e SGBD)

SGBD eBanco de dados

a) os metadados resultam da converso de comandos DDL pelo compilador da DDL."Um esquema de banco de dados especificado por um conjunto de definies expressas por uma linguagem especial chamadalinguagem de definio de dados(Data Definition Language, DDL). O resultado da compilao de comandos de uma DDL um conjunto tabelas que so armazenadas em um arquivo especial chamadodicionrio (ou diretrio) de dados."

b) mapeamentos, restries de integridade, mensagens de comunicao e restries de segurana so recursos contidos no dicionrio de dados."Um diretrio de dados um arquivo que contm metadados, ou seja, "dados sobre dados". Este arquivo consultado antes que os dados sejam lidos ou modificados no sistema de banco de dados."

c) o arquivo de dados o componente que cuida da alocao do espao na armazenagem no disco e das estruturas de dados usadas para representar a informao armazenada."Gerenciador de arquivos, que gerencia a alocao do espao na armazenagem do disco e as estruturas de dados usadas para representar a informao armazenada no disco.""Arquivos de dados, que armazenam o banco de dados propriamente dito."

d) a estrutura de armazenagem e os mtodos de acesso so especificados por um conjunto de definies em um tipo especial de DML."A estrutura de armazenagem e os mtodos de acesso usados em um sistema de banco de dados so especificados por um conjunto de definies em um tipo especial de DDL chamadolinguagem de armazenagem e definio de dados."

e) a abstrao dos nveis fsico, conceitual e de viso aplica-se, exclusivamente, definio e estrutura de dados."Os nveis de abstrao discutidos anteriormente (nveis fsico, conceitual e de viso) no se aplicam somente definio ou estrutura de dados, mas tambm sua manipulao."

manipulao de dados: Data Manipulation Language (DML). Ex.: SELECTdicionrio de dados: Todo banco tem associado um dicionario de dados onde sao guardados metadados (dados sobre os dados, informaes sobre dados armazenados como tipo, tamanho, etc)definio de dados: Data Definition Language (DDL). Ex.: CREATE, DROPsegurana de dados: Data Control Language (DCL): comandos de gerenciamento de permisses (GRANT, REVOKE , ...)integridade de dados: ACID (Atomicidade, Consistencia, Isolamento, Durabilidade)recuperao de dados: Tem a ver com Durabilidade.concorrncia: Controles de concorrncia (Dirty Read, Read Uncommitted, Read Commited, Serivel, Leitura fantasma, Dealock, leitura repetitvel, etc... so todos termos relativos concorrncia que precisam ser tratados pelo SGBD)

As duas opes mais comuns so restringir, ou excluir em cascata.RESTRICTno permite excluir a linha referenciada.CASCADEespecifica que, quando a linha referenciada excluda, as linhas que fazem referncia tambm devem ser excludas automaticamente.NO ACTIONsignifica que, se as linhas referenciadas ainda existirem quando a restrio for verificada, ser gerado um erro.

Os SGBD possui algumas caractersticas operacionais elementares, listadas a seguir:1. Controle de Redundncias-A redundncia consiste no armazenamento de uma mesma informao em locais diferentes, provocando inconsistncias. Em um Banco de Dados as informaes s se encontram armazenadas em um nico local, no existindo duplicao descontrolada dos dados. Quando existem replicaes dos dados, estas so decorrentes do processo de armazenagem tpica do ambiente Cliente-Servidor, totalmente sob controle do Banco de Dados.2. Compartilhamento dos Dados- O SGBD deve incluir software de controle de concorrncia ao acesso dos dados, garantindo em qualquer tipo de situao a escrita/leitura de dados sem erros.3. Controle de Acesso- O SGDB deve dispor de recursos que possibilitem selecionar a autoridade de cada usurio. Assim um usurio poder realizar qualquer tipo de acesso, outros podero ler alguns dados e atualizar outros e outros ainda podero somente acessar um conjunto restrito de dados para escrita e leitura.4. Interfaceamento- Um Banco de Dados dever disponibilizar formas de acesso grfico, em linguagem natural, em SQL ou ainda via menus de acesso, no sendo uma "caixa-preta" somente sendo passvel de ser acessada por aplicaes.5. Esquematizao- Um Banco de Dados dever fornecer mecanismos que possibilitem a compreenso do relacionamento existentes entre as tabelas e de sua eventual manuteno.6. Controle de Integridade- Um Banco de Dados dever impedir que aplicaes ou acessos pelas interfaces possam comprometer a integridade dos dados.7. Backups- O SGBD dever apresentar facilidade para recuperar falhas de hardware e software, atravs da existncia de arquivos de "pr-imagem" ou de outros recursos automticos, exigindo minimamente a interveno de pessoal tcnico.

INTEGRIDADE DE a) de chave. /// diz respeito s condies da chave primria - em especial, que ela no se repete;b) de domnio. /// diz respeito ao domnio dos dados que podem ser gravados no atributo (coluna): tipo de dados, tamanho, mscara, restrio a caracteres;c) relacional. /// no existe.d) referencial. /// diz respeito s chaves estrangeiras usadas, s referncias a outras relaes;e) de vazio. /// diz respeito possibilidade ou no de um atributo aceitar NULL.

a) dependncia sem commit. Problema de concorrncia, ocorre quando a transao tem permisso para ler ou atualizar uma tupla que foi atualizada por outra transao, mas sem validao dessa outra transao. b) deadlock. Famoso IMPASSE, quando dois(ou mais) processos tentam acessar ao mesmo tempo a mesma rea de memria por exemplo e ficam bloqueados. c) atualizao perdida. Ocorre quando dois processos leem os mesmos dados do banco de dados, e tentam atualizar os dados com base no que foi lido antes de uma das atualizaes terem xito d) bloqueio.(CERTA) Sincronizar o acesso de vrios usurios mesma parte dos dados simultaneamente.(Ex. LOCK do mysql) e) anlise inconsistente. Ocorre anlise inconsistente quando uma segunda transao acessa a mesma linha vrias vezes e l dados diferentes a cada vez.

Controle de Concorrncia Baseado em Bloqueio

- Protocolo de bloqueio estrito de duas fases (Strict 2PL):? Cada transao deve obter:

bloqueio compartilhado (S): sobre o objeto antes de sua leitura bloqueio exclusivo (X): sobre o objeto antes de sua escrita

- Todos os bloqueios feitos por uma transao so liberados quando atransao completada.- Se uma transao obtm um bloqueio do tipo exclusivo sobre umobjeto, nenhuma outra transao pode obter um bloqueio (seja do tipocompartilhado ou exclusivo) sobre aquele objeto.

Um Gerenciador de Bancos de Dados Relacionais (como o Access) tem algumas caractersticas, como a possibilidade de permitir que se ache, de forma nica, uma linha numa tabela qualquer...A letra E est clarssima! praxe de um SGBDR poder identificar, de forma exclusiva, cada linha de uma tabela... Afinal, para isso que servem as CHAVES PRIMRIAS nas tabelas...No que concerne ao restante, h limitaes descritas que no so pertinentes ao Gerenciador, como no contemplar dados relacionados s tabelas(e as definies de campos, filtros, etc.)... "

Sgbd garante: integridade, segurana, no redundncia, controle de concorrnciaTipos:- Em rede: so organizados em tipos/ conjuntos- Hierrquicos: dados so organizados em nveis, rvores- Relacionais mais moderno e mais utilizado, dados organizados em tabelas. Ex: Oracle, SQL Server, Postgre

http://www.inf.ufsc.br/~ronaldo/ine5613/2-sgbd.pdf

http://www.diegomacedo.com.br/questoes-de-banco-de-dados-sgbds/http://www.diegomacedo.com.br/sgbd-sistema-de-gerenciamento-de-banco-de-dados/