Baixe o app para aproveitar ainda mais
Prévia do material em texto
LISTA DE EXERCICIO – BANCO DE DADOS Cite vantagens e desvantagens na adoção de SGBDs? - Controle de redundância - Compartilhamento de dados - Restrição de acesso não autorizado. - Representação de Relacionamentos Complexos entre Dados Defina SGBD, e BD? SGBD – Sistema de gerenciamento de banco de dados, é um conjunto de programas responsáveis pelo gerenciamento de uma base de dados. Banco de dados - é uma coleção de dados inter-relacionados, representando informações sobre um domínio específico”, ou seja, sempre que for possível agrupar informações que se relacionam e tratam de um mesmo assunto, posso dizer que tenho um banco de dados. Conceitue transação no contexto de um SGBD? Uma transação consiste em validar uma sequência de comandos que serão executados no banco de dados a partir da ferramenta de controle e gerenciamento do banco. Ex – Create,drop,insert. De Exemplos de SGBD open source e comerciais? Oracle - SQLServe - MySQL – Open Source PostgreSQL – Defina os conceitos ACID? Atomicidade – Qualquer reflexo no banco deve surgir após a conclusão de uma transação sem erros. Consistência – Garante que o processo da transação respeite todas as normas pré-estabelecidas na integridade dos dados. Isolamento – garantia do dado verídico, ou seja, ele garante que uma transação sendo executada agora, não seja sobreposta por outras no mesmo campo. Durabilidade - Por último a Durabilidade, este garante a integridade do dado já inserido na base, até uma nova intervenção. Ex - Update ou Delete. Apresente os principais subconjuntos da linguagem SQL? DDL - Linguagem de Definição de Dados - É um conjunto de comandos dentro da SQL usada para a definição das estruturas de dados, fornecendo as instruções que permitem a criação, modificação e remoção das tabelas, assim como criação de índices. Ex – Create,Drop,Alter. DML - Linguagem de Manipulação de Dados - É o grupo de comandos dentro da linguagem SQL utilizado para a recuperação, inclusão, remoção e modificação de informações em bancos de dados. Ex – Select,Insert,Update,Delete. DCL - Linguagem de Controle de Dados – É o grupo de comandos que permitem ao administrador de banco de dados controlar o acesso aos dados deste banco. Ex - Grant, Revoke. Conceitue abstração e onde deve ser utilizada para modelar um banco de dados? É um recurso extremamente útil, pois permite que você torne suas aplicações portáveis entre diferentes SGBDS (Sistemas de Gerência de Bancos de Dados). É uma camada intermediária entre a sua aplicação PHP e o banco de dados. Nesse caso você terá em seu programa uma chamada para essa biblioteca que por sua vez irá enviar a requisição ao sistema gerenciador de banco de dados. Explique as principais etapas para a construção de um SGBD? Análise de requisitos do banco de dados - Aqui acontece um diagnóstico das necessidades do sistema. Irá mapear todas as funcionalidades do BD. Plano de testes – São testes realizados ainda pelo próprio programador antes de passar para a próxima etapa. Modelagem de dados - Essa etapa visa contemplar a organização lógica e estrutural de ligações entre cada funcionalidade. Codificação de pacotes – Depois da modelagem as funcionalidades que foram mapeadas são agrupadas em pacotes, levando em conta as possíveis áreas do BD e esses pacotes são ordenados por dependência das informações. Testes internos e externos – São testes realizados a cada finalização da codificação de um pacote, tanto pela equipe interna de desenvolvedores, quanto pelos usuários. Integração e implementação - A integração do BD é a junção de forma funcional de todos os pacotes codificados. Assim tem-se a versão beta completa para realização de testes. Com tudo certo na versão beta, temos a versão final que é instalada em um servidor. Documentação – Terminado o projeto, há a elaboração de um documento que traz detalhes sobre o código para que qualquer alteração, atualização ou implementação possa ser feita por qualquer outro desenvolvedor no futuro. 9. A Modelagem Entidade relacionamento é utilizada em qual nível de modelagem de dados? Defina CONSTRAINT e por que usa-las? As CONSTRAINT são restrições e evitam que dados inválidos sejam inseridos no BD. Explique a seguinte afirmativa: “Uma Chave estrangeira é necessariamente chave primaria em outra tabela”. Sim, pois para criar uma chave estrangeira é necessário a existência de uma chave primaria para se relacionar. Conceitue chave primaria e estrangeira. Chave Primaria - Atributo ou combinação de atributos que possuem a propriedade de identificar de forma única uma linha da tabela. Corresponde a um atributo determinante. Chave estrangeira - A chave estrangeira ocorre quando um atributo de uma relação for chave primária em outra relação. Por que definir o tipo de dado, faz parte de um processo importante? Defina integridade e seus tipos? Integridade de entidade Integridade de domínio Integridade referencial Integridade definida pelo usuário 15. Usando a linguagem SQL realize os seguintes exercícios abaixo: A. Crie um banco de dados com o nome lista_exercicios; B. Crie as seguintes tabelas: PROGRAMADOR ID INTEIRO PK NOME VARCHAR(100) CPF CHAR(10) DATA_NASCIMENTO DATE SALARIO DOUBLE EQUIPE ID INTEIRO PK NOME VARCHAR(100) ABREVIATURA CHAR(1) EQUIPE PROGRAMADOR IDPROGRAMADOR INTEIRO FK IDEQUIPE INTEIRO FK C. Altere a tabela Equipe Programador para a seguinte configuração: EQUIPE PROGRAMADOR IDPROGRAMADOR INTEIRO IDEQUIPE INTEIRO FK DATA_ENTRADA_EQUIPE DATE D. Insira uma checagem na tabela Programador, para que o salário seja superior ao salário mínimo atual: 788. E. Insira uma checagem para o CPF do Programador seja único. F. Insira uma checagem para o nome do programador não aceite valores nulos. G. Insira na tabela programador o seguinte programador: Id = 1, Nome = Javaman da Silva, CPF = 00023456-90, Data Nascimento = 22/10/1980, Salário = 5000 Id = 2, Nome = Fulano de Tal, CPF = 00026798-90, Data Nascimento = 23/05/1983 Salário = 4000 Id = 3, Nome = Beltrano Jose CPF = 00026798-90 Data Nascimento = 01/01/1985 Salário = 8000 Todos os Programadores conseguiram ser inseridos? No caso, de algum problema na inserção aponte o mesmo e explique por que ocorreu. H. Insira na tabela Equipe: Id = 1, Nome = Porto de Galinhas Abreviatura = P Id = 2, Nome = Calhetas Abreviatura = C Id = 3, Nome = Muro Alto Abreviatura = M I. Insira o programador Fulano na equipe M e na equipe P. J. Insira o programador Beltrano na equipe P e na equipe C. K. Insira o programador Javaman na equipe M, equipe P, equipe C. DROP TABLE PROGRAMADOR; CREATE DATABASE LISTA_EXERCICIO; CREATE TABLE PROGRAMADOR( ID INTEGER PRIMARY KEY NOT NULL, NOME VARCHAR(100) NOT NULL, CPF CHAR(11) UNIQUE NOT NULL, DATA_NASCIMENTO DATE NOT NULL, SALARIO FLOAT NOT NULL CONSTRAINT SAL_BASE CHECK(SALARIO>788) ); CREATE TABLE EQUIPE( ID INTEGER PRIMARY KEY NOT NULL, NOME VARCHAR(100) NOT NULL, ABREVIATURA CHAR(1) NOT NULL ); CREATE TABLE EQUIPE_PROGRAMADOR( IDPROGRAMADOR INTEGER NOT NULL, IDEQUIPE INTEGER NOT NULL, DATA_ENTRADA_EQUIPE DATE, CONSTRAINT PK_PROG FOREIGN KEY(IDPROGRAMADOR) REFERENCES PROGRAMADOR(ID), CONSTRAINT PK_EQUI FOREIGN KEY(IDEQUIPE) REFERENCES EQUIPE(ID) ); INSERT INTO PROGRAMADOR(ID,NOME,CPF,DATA_NASCIMENTO,SALARIO) VALUES (1,'JAVAMAN DA SIVA','0002345690','1980-10-22',5000); INSERT INTO PROGRAMADOR(ID,NOME,CPF,DATA_NASCIMENTO,SALARIO) VALUES (2,'FULANO DE TAL','0002679890','23-05-1983',4000); INSERT INTO PROGRAMADOR(ID,NOME,CPF,DATA_NASCIMENTO,SALARIO) --NÃO VAI SER INSERIDO POIS JÁ EXISTE O CPF VALUES (3,'BELTRANO JOSE','0002679890','01-01-1985',8000); INSERTINTO EQUIPE(ID,NOME,ABREVIATURA) VALUES (1,'PORTO DE GALINHAS','P'); INSERT INTO EQUIPE(ID,NOME,ABREVIATURA) VALUES (2,'CALHETAS','C'); INSERT INTO EQUIPE(ID,NOME,ABREVIATURA) VALUES (3,'MURO ALTO','M'); INSERT INTO EQUIPE_PROGRAMADOR(IDPROGRAMADOR,IDEQUIPE) VALUES (2,1); INSERT INTO EQUIPE_PROGRAMADOR(IDPROGRAMADOR,IDEQUIPE) VALUES (2,3); INSERT INTO EQUIPE_PROGRAMADOR(IDPROGRAMADOR,IDEQUIPE) VALUES (3,1); INSERT INTO EQUIPE_PROGRAMADOR(IDPROGRAMADOR,IDEQUIPE) VALUES (3,2); INSERT INTO EQUIPE_PROGRAMADOR(IDPROGRAMADOR,IDEQUIPE) VALUES (1,1); INSERT INTO EQUIPE_PROGRAMADOR(IDPROGRAMADOR,IDEQUIPE) VALUES (1,2); INSERT INTO EQUIPE_PROGRAMADOR(IDPROGRAMADOR,IDEQUIPE) VALUES (1,3);
Compartilhar