Escolar Documentos
Profissional Documentos
Cultura Documentos
Licenciatura em Informática
3º Ano - Laboral
Maputo 2024
Parte I
Por definição, uma base de dados distribuída é um sistema de base de dados cujos dados se
encontram fisicamente dispersos por vários servidores, ligados por meios de comunicação, mas
integrados logicamente
Uma Base de Dados Relacionais é um tipo de base de dados que organiza os dados em tabelas
com linhas e colunas, onde as informações são armazenadas e relacionadas entre si por meio
de chaves primárias e estrangeiras. Este modelo de base de dados permite a manipulação dos
dados de forma eficiente e segura, garantindo a integridade das relações entre as tabelas. As
consultas são feitas por meio da linguagem SQL (Structured Query Language) para acessar,
atualizar e gerenciar os dados de forma consistente. iógicaegistromazenados no banco de
dados.
Relsção é a ligação ou conexão que existe entre elementos, entidades ou variáveis. No contexto
de banco de dados, uma relação se refere à ligação entre diferentes tabelas que compartilham
informações com base em chaves primárias e estrangeiras.
Uma tabela, por sua vez, é uma estrutura de dados organizada em linhas e colunas que
armazena informações sobre entidades, objetos ou conceitos. Cada linha representa um registro
individual e cada coluna representa um atributo específico desse registro.
Portanto, no contexto de banco de dados, uma relação é a conexão lógica entre diferentes
tabelas, estabelecida por meio de chaves primárias e estrangeiras que relacionam os registros
em uma tabela com os registros em outra tabela. Essas relações são essenciais para garantir a
integridade e consistência dos dados armazenados no banco de dados.
d) Atributo
e) Conceito de Túpla(o)
f) Conceito de chave
Existem diferentes tipos de chaves que podem ser usadas em um banco de dados relacional.
Aqui estão os principais tipos de chaves e suas relações:
- A chave estrangeira em uma tabela faz referência à chave primária em outra tabela.
- São chaves potenciais que podem ser usadas como chave primária.
- Pode aceitar valores nulos, mas apenas um valor nulo é permitido. - Pode haver várias
chaves únicas em uma tabela.
5. Chave composta:
- Uma chave composta é uma combinação de duas ou mais colunas que juntas formam uma
chave única.
- Pode ser usada como chave primária ou chave estrangeira, dependendo da necessidade.
As relações entre essas chaves em um banco de dados são fundamentais para garantir a
integridade dos dados e a consistência das operações de manipulação. A chave primária é
fundamental para identificar unicamente cada registro, enquanto as chaves estrangeiras
garantem a integridade referencial entre as tabelas. As chaves candidatas e únicas são usadas
para garantir que não haja duplicação de valores em determinadas colunas.
Sistema de Gestão de Bases de Dados (SGBD): é um software com recursos específicos para
facilitar a manipulação das informações das Bases de dados e o desenvolvimento de
aplicativos. Exemplos: Oracle, Ingres, Paradox, Access, DBase, MS SQL Server, MySQL
Server, PostGreSQL, MariaDB, DB2, etc
i) Linguagem SQL
j) Categorias da Linguagem SQL e comandos
DDL (Data Definition Language): utilizada para criar, alterar ou excluir estruturas de banco de
dados, como tabelas, índices, visões, procedimentos armazenados, etc. Exemplos de comandos
DDL incluem CREATE, ALTER e DROP.
DML (Data Manipulation Language): utilizada para manipular os dados armazenados nos
objetos do banco de dados, como inserir, atualizar, excluir e recuperar registros em tabelas.
Exemplos de comandos DML incluem SELECT, INSERT, UPDATE e DELETE.
DCL (Data Control Language): utilizada para definir permissões de acesso e controle de
segurança no banco de dados. Exemplos de comandos DCL incluem GRANT e REVOKE.
DQL (Data Query Language): utilizada para consultar e recuperar dados de tabelas do banco
de dados. O principal comando da categoria DQL é o SELECT.
Além dessas categorias, existem diversos comandos específicos da linguagem SQL, tais como
JOIN, ORDER BY, GROUP BY, HAVING, BETWEEN, LIKE, etc. Cada um desses
comandos possui uma função específica para manipular e consultar os dados armazenados no
banco de dados.
Parte II
I.Que critérios são usados para classificar os Sistemas de Gestão de Base de Dados e mencione
para cada critério os diferentes tipos.
Modelo de Dados: Relacional , Orientado a Objecto ,Hierárquico e Rede (legacy) , Native,
XML DBMS
Custo: Grátis (Free e normalmente Open source) ,Diferentes tipos de licenciamento (Different
types of licensing
- Relação: Uma relação em bancos de dados é uma estrutura que organiza dados em linhas e
colunas, semelhante a uma tabela. Cada linha na relação representa um registro ou instância de
dados, e cada coluna representa um atributo específico desse registro. As relações são usadas
para armazenar e organizar dados de forma eficiente para consulta e manipulação.
- Tupla: Uma tupla, também conhecida como linha, é um conjunto ordenado de valores que
representa um registro único em uma relação. Cada tupla em uma relação corresponde a um
registro específico e contém valores para cada atributo da relação. Por exemplo, em uma
relação de alunos, uma tupla pode representar as informações de um aluno específico, como
nome, matrícula, curso, etc.
a)Qual é a relação existente entre super chave -> chave candidata e chave primária -> chave
estrangeira.
A relação existente entre super chave -> chave candidata e chave primária -> chave estrangeira
é que a chave primária em uma tabela pode ser utilizada como chave estrangeira em outra
tabela para estabelecer uma relação entre essas tabelas. As chaves candidatas e super chaves
são utilizadas para garantir a integridade e unicidade dos dados em uma tabela.
IV.O que cada etapa do processo de normalização resolve? (Fundamente até a 3FN).
1NF (Primeira Forma Normal): Esta etapa resolve a questão da atomicidade dos atributos, ou
seja, cada coluna da tabela deve conter apenas um valor e não múltiplos valores. Isso elimina
a repetição de dados e facilita a recuperação e manipulação das informações.
2NF (Segunda Forma Normal): Nesta etapa, a normalização busca resolver a dependência
parcial dos atributos, garantindo que cada atributo da tabela dependa completamente da chave
primária. Isso ajuda a evitar anomalias de atualização e inserção de dados na tabela.
3NF (Terceira Forma Normal): A normalização até a 3FN busca eliminar a dependência
transitiva dos atributos, garantindo que um atributo não dependa de outro que não seja a chave
primária. Isso ajuda a garantir a integridade dos dados e facilita a manutenção e evolução do
banco de dados.
Parte III
Dadas as afirmações abaixo, para cada afirmação diga se é Verdadeira (V) ou Falsa (F)
i Chaves candidatas são usadas para relacionar duas entidades. F
ii O esquema de uma relação é constituído por um ou mais atributos que traduzem o
tipo de dados a armazenar. V
iii O domínio de um atributo traduz a quantidade de tuplas que uma relação poderá
suportar. F
iv Uma das vantagens dos SGBD é a existência de uma interface lógica entre dados e
aplicações que permite com que as aplicações acedam directamente aos dados da
base de dados. V
v Cardinalidade de uma relação é o número de colunas que compõem a relação. F
vi O modelo relacional, em rede, hierárquico e Entidade-relacionamento representam
Modelos
Base de Dados orientados à registos. F
vii Na modelação o paradigma Top-Down prevê o uso da normalização. V
viii Em Base de Dados 0 (zero) é equivalente a Nulo (Null). F
ix O modelo Relacional foi proposto por Peter Chen. F
x Modelos conceituais são utilizados para se descrever a estrutura de uma Base de
dados de uma forma mais próxima da percepção dos usuários (independente de
aspectos de implementação).
xi A Projecção é uma operação onde o esquema da relação resultante se reduz a lista
de atributos que constam no predicado. F
xii Uma base de dados em Rede é semelhante a uma base de dados Hierárquica. No
entanto, enquanto que uma base de dados em Rede tem apenas um-para-muitos
relacionamentos entre entidades, uma base de dados hierárquica permite
relacionamentos muitos -para-muitos. F
xiii O maior motivo em usar uma Base de Dados Relacional no lugar de Bases de Dados
NoSQL é poder-se manipular dados não estruturados com flexibilidade e com maior
garantia na performance. F
xiv Neo4j é um exemplo de um Sistema de Gestão de Base de Dados orientado à
Documentos. F
xv No processo de conversão dos diagramas E-R em relações, cada relacionamento é
convertido para relação. F
xvi SQL é a linguagem universal para manipulação de Base de Dados Relacionais. V
xvii Em Álgebra Relacional a operação de União só pode ser executada em relações que
possuam o mesmo número de túplo(a)s. V
Parte IV
Disciplina(cod_disciplina, nomed);
CREATE TABLE Curriculo ( cod_curso INT, cod_disciplina INT, semestre INT, ano INT,
nr_creditos INT, PRIMARY KEY (cod_curso, cod_disciplina), FOREIGN KEY (cod_curso)
REFERENCES Curso(cod_curso), FOREIGN KEY (cod_disciplina) REFERENCES
Disciplina(cod_disciplina) );
CREATE TABLE Turma ( cod_turma INT PRIMARY KEY, ano_curso INT, semestre INT,
ano_academico INT, cod_curso INT, FOREIGN KEY (cod_curso) REFERENCES Curso(cod_curso)
);
CREATE TABLE Pauta ( cod_estudante INT, cod_disciplina INT, cod_turma INT, teste1 FLOAT,
teste2 FLOAT, trab1 FLOAT, trab2 FLOAT, media FLOAT, cod_docente INT, PRIMARY KEY
(cod_estudante, cod_disciplina, cod_turma), FOREIGN KEY (cod_estudante) REFERENCES
Estudante(cod_estudante), FOREIGN KEY (cod_disciplina) REFERENCES
Disciplina(cod_disciplina), FOREIGN KEY (cod_turma) REFERENCES Turma(cod_turma),
FOREIGN KEY (cod_docente) REFERENCES Docente(cod_docente) );
b) Insira dados fictícios nas tabelas, pelo menos 3 registos por tabela.
INSERT INTO Faculdade VALUES (1, 'Faculdade de Engenharia', 'Rua 25 de Abril', 123,
'123456789', 'feng@universidadeabc.pt');
INSERT INTO Faculdade VALUES (2, 'Faculdade de Ciências Sociais', 'Avenida da Liberdade', 456,
'987654321', 'fcs@universidadeabc.pt');
INSERT INTO Faculdade VALUES (3, 'Faculdade de Economia', 'Rua do Comércio', 789,
'456123789', 'feconomia@universidadeabc.pt');
INSERT INTO Pauta VALUES (1, 1, 1, 14, 15, 16, 17, 15.5, 1);
INSERT INTO Pauta VALUES (2, 2, 2, 12, 13, 14, 15, 13.5, 2);
INSERT INTO Pauta VALUES (3, 3, 3, 16, 17, 18, 19, 17.5, 3);
USE KurhulaEnterprise;
INSERT INTO Cargo (cod_cargo, designacao_cargo, salario_base) VALUES (1, 'Contabilista', 2000),
(2, 'Recrutador', 1800), (3, 'Designer Gráfico', 2200);INSERT INTO DocumentoIdentificacao
(cod_doc, designacao_documento) VALUES (1, 'Cartão de Cidadão'), (2, 'Passaporte'), (3, 'BI');