No primeiro semestre de 2023, perguntas reais dos engenheiros de sistema de banco de dados e análises de respostas à tarde

Questão 1 (15 pontos)

Para melhorar a eficiência, uma empresa de veículos de nova energia precisa desenvolver um sistema de aquisição de autopeças. Por favor, complete o design do banco de dados do sistema.

projeto de estrutura conceitual

Descrição do Requisito

(1) Registre as informações do fornecedor, incluindo o nome do fornecedor, endereço e número de telefone.

(2) Registre as informações da peça, incluindo o código, nome e preço da peça.

(3) Registre as informações do modelo, incluindo o número de série, nome e especificação do modelo.

(4) Registre as informações de aquisição de peças. Uma determinada peça de um modelo pode ser comprada de vários fornecedores, uma determinada peça também pode ser usada por vários modelos e um determinado fornecedor também pode fornecer várias peças, incluindo a quantidade e a data da compra.

projeto de estrutura lógica

De acordo com o diagrama entidade relacionamento concluído na etapa de projeto da estrutura conceitual, obtém-se o seguinte modelo de relacionamento (incompleto):

  1. Fornecedor (nome, endereço, telefone)
  2. Peça (código, nome, preço)
  3. Modelo (número, nome, especificação)
  4. compra(número do modelo, nome do fornecedor, (a), (b), data da compra)

Questão 1 (5 pontos)

Complemente o diagrama de conexão de entidade na figura acima de acordo com a descrição (nenhuma nova entidade é adicionada).

Questão 2 (3 pontos)

Complemente as duas lacunas (a) e (b) nos resultados do projeto da estrutura lógica e marque as restrições de integridade da chave primária e da chave estrangeira.

Questão 3 (7 pontos)

A empresa automobilística agora acrescenta os seguintes requisitos: registrar as vendas de modelos em lojas em todo o país. As informações da loja incluem: número da loja, endereço e número de telefone, e as vendas incluem: quantidade e data de vendas. As seguintes modificações são feitas no projeto original para atender a esse requisito.

(1) Mostre as informações da loja e seu modelo de vendas na figura e marque as entidades e conexões recém-adicionadas e seus atributos importantes.

(2) Forneça o esquema de relacionamento recém-adicionado e marque as restrições de integridade da chave primária e da chave estrangeira.

Questão 2 (15 pontos)

Os fabricantes de automóveis gerenciam as peças de reposição de maneira unificada e projetam um banco de dados correspondente, um dos quais registra as informações de uso das peças de reparo. A estrutura da tabela é a seguinte:

  1. Lista de uso de peças de reparo (número da placa, tempo de reparo, código da peça, nome da peça, fornecedor da peça, código do armazém da peça, endereço do armazém, quantidade de peças de reparo).

Entre eles, o número da placa e o código do acessório atendem à singularidade. Assumindo que o mesmo veículo pode precisar de várias peças de reparo na mesma situação de manutenção, um tipo de peça de reposição só pode ser armazenado em um depósito de peças de reposição e um tipo de peça de reposição só pode ser fornecido por um fornecedor de peças de reposição. O tempo de reparo é exato ao segundo.

Questão 1 (7 pontos)

Há redundância de dados na tabela de uso de peças de reparo fornecida na pergunta. Forneça os atributos redundantes específicos e explique quais anormalidades ocorrerão por causa disso.

Questão 2 (8 pontos)

A tabela de uso de peças sobressalentes satisfaz o BCNF? Caso contrário, decomponha o esquema para que o esquema relacional decomposto satisfaça o BCNF e marque a chave primária e a chave estrangeira.

Questão 3 (15 pontos)

Parte do esquema relacional do banco de dados de um sistema de gerenciamento de administração educacional é a seguinte:

  1. Aluno: ALUNO( Sno , Snome, Ssex, Sage, Sdept), cada atributo representa o número do aluno, nome, sexo, idade, nome do departamento;
  2. Curso: COURSE ( Cno , Cname , Cpno , Ccredit), cada atributo representa o número do curso, nome do curso, número do curso e créditos do curso pré-requisito;
  3. Seleção do curso: SC( Sno , Cno , Grade), cada atributo representa o número do aluno, número do curso e nota, respectivamente.

Uma descrição do esquema relacional é a seguinte:

(1) O atributo sublinhado é a chave primária da tabela

(2) O valor do nome do curso é único.

De acordo com a descrição acima, responda às seguintes perguntas e preencha a parte vazia da instrução SQL.

Questão 1 (3 pontos)

Preencha a instrução SQL para criar a tabela do curso COURSE abaixo, que requer a definição de restrições de integridade de entidade, restrições de integridade referencial e outras restrições de integridade.

CRIAR TABELA CURSO(

    Cno CHAR(4) CHAVE PRIMÁRIA,

    Cnome CHAR(30) ( a ),

    Cpno CHAR(4) referências ( b ), ( c )

    Ccredit INT

);

Questão 2 (4 pontos)

Há um novo curso com o número de curso "C036", que é obrigatório para todos os alunos. As informações básicas deste curso foram inseridas na tabela curricular CURSO, agora é necessário inserir o registro de seleção do curso deste curso na tabela de seleção do curso SC. A instrução SQL para realizar esta função é a seguinte, por favor, complete-a.

(d) INTO SC(Sno, (e))

      VALORES SELECT Sno,( f ) FROM ( g )

Questão 3 (4 pontos)

Consulte os cursos de pré-requisito indiretos (cursos de pré-requisito dos cursos de pré-requisito) de cada curso e exija a saída do número do curso e o número do curso dos cursos de pré-requisito indiretos. A saída é necessária mesmo se um curso não tiver pré-requisitos, mas seus pré-requisitos indiretos estiverem vazios. Esta função é realizada pela seguinte instrução SQL, por favor, complete-a.

SELECIONE K1.Cno,( h )

   DO CURSO K1 ( i ) CURSO DE JUNÇÃO EXTERNA K2 ( j ) ( ( k ) );

Questão 4 (4 pontos)

Consulte os alunos que fizeram todos os cursos na tabela de seleção de cursos e peça para exibir o número e o nome do aluno. Esta função é realizada pela seguinte instrução SQL, por favor, complete-a.

SELECIONE Sno,Snome DO ALUNO ONDE NÃO EXISTE

  PARA

   (SELECIONE * DE ( l )

      ONDE ( m )

        (SELECIONE* DE ( n )

            ONDE ( o ) );

Questão 4 (15 pontos no total)

O modelo de relacionamento parcialmente simplificado do sistema de informação interno de uma empresa é o seguinte:

  1. Tabela Employee: EMPLOYEES(Eid, Ename, Address, Phone, Jid), os significados dos atributos são: código do funcionário, nome do funcionário, endereço residencial, número de contato, código do nível de trabalho.
  2. Tabela de nível de cargo: JOB_LEVELS (Jid, Jname, Jbase_salary), os significados dos atributos são: código de nível de cargo, nome do cargo e salário básico do cargo.
  3. Tabela de salário do funcionário: SALÁRIO(Eid, comparecimento_salário, mérito_pagamento, horas extras_salário, salário, imposto, ano, mês), os significados dos atributos são: código do funcionário, salário de frequência, salário de desempenho, salário de horas extras, salário final, imposto, ano, mês.

A empresa calcula os salários dos funcionários no dia 25 de cada mês. Primeiramente, com base nos dados do sistema de atendimento e sistema de desempenho, são calculados os salários de frequência, desempenho e horas extras do funcionário, que são armazenados na folha de pagamento do funcionário; em segundo lugar, o salário final é calculado com base no salário-base do funcionário para o cargo e o registro da folha de pagamento do funcionário é atualizado. Finalmente, o pagamento dos salários é concluído de acordo com a folha de pagamento do funcionário.

Questão 1 (6 pontos)

A seguir está o programa de procedimento armazenado para calcular o salário final de um funcionário no dia 25 do mês, preencha o código na vaga.

CREATE PROCEDURE SalaryCalculation( (a) empld char(8), IN iYear number(4),

IN iMonth número (2))

DECLARAR

   número de atendimento (14, 2);

   número de mérito (14, 2);

   número de horas extras (14, 2);

   número base(14, 2);

   todos os números do salário (14, 2);

COMEÇAR

  SELECT comparecimento_salário, mérito_pagamento, horas extras_salário INTO ( b )

      DO SALÁRIO ONDE Eid=empld PARA ATUALIZAÇÃO;

          SELECT Jbase_salary INTO :base

            DOS COLABORADORES T1, ( c )

               ONDE T1.Jid=T2.Jid E T1.Eid= empld;

  all_salary := assiduidade + merecimento + hora extra + base;

  ATUALIZAR SALÁRIO DEFINIR salário = :all_salary

     ONDE ( d ) E ano = iAno E mês = iMês;

  (e)

  EXCEÇÃO QUANDO OUTROS ENTÃO ( f )

FIM

Questão 2 (5 pontos)

A fim de prevenir a alteração ilegal das folhas de vencimento dos funcionários (incluindo crimes internos), o sistema estipula especificamente as regras de negócio para alteração da folha de salário dos funcionários: a alteração das folhas de salário dos funcionários só pode ser realizada durante o horário de trabalho do dia 25 de cada mês. A seguir, o procedimento correspondente à modificação das regras de negócios da tabela salarial do funcionário, por favor, preencha o código na vaga.

CREATE TRIGGER CheckBusinessRule ( g )

   INSERIR OU EXCLUIR OU (h) no SALÁRIO PARA CADA (i)

COMEÇAR

  SE (TO_CHAR(sysdate, 'DD')<>( j ) OU (to_number(TO_CHAR(sysdate,'HH24')) ( k ) ENTRE 8 E 18) ENTÃO

    Raise_Error; // lançar uma exceção

  FIM SE:

FIM:

Questão 3 (4 pontos)

O departamento de pessoal tem autoridade para dar recompensas e punições adicionais aos funcionários todos os meses, e as recompensas e punições também são refletidas no salário final dos funcionários. Suponha que quando o salário final de um funcionário é calculado em um determinado mês, o departamento de pessoal executa uma operação de transação de recompensar o funcionário com 2.000 yuans ao mesmo tempo, e a sequência de agendamento parcial da transação correspondente é mostrada na Tabela 4-1.

(1) Por favor, explique que tipo de problema de simultaneidade existe neste escalonamento de transação?

(2) O problema de simultaneidade pode ser resolvido usando 2PL? Haverá um impasse?

Questão 5 (15 pontos)

O processo de montagem de um determinado equipamento precisa passar por vários procedimentos. Devido ao espaço de trabalho estreito, apenas uma pessoa pode trabalhar na sala de operação ao mesmo tempo. Portanto, após cada processo precisar concluir a entrega dos acessórios usados, o operador carrega os acessórios para a sala de operação para instalação. Durante o processo de instalação, o código do acessório precisa ser digitalizado para registrar automaticamente a instalação do acessório.

Supondo que existam três transações para o tratamento de uma determinada instalação de um determinado tipo de acessório, a transação T1 é responsável pelo registro de saída, T2 é responsável pelo registro de instalação e T3 é responsável pela reposição de acessórios não utilizados. Após a execução das três transações, a quantidade que sai de T1 deve ser igual à soma da quantidade instalada em T2 com a quantidade reabastecida em T3. O item de dados I registra a quantidade de estoque de acessórios e o item de dados J registra o número de instalações bem-sucedidas. Em um determinado processo de montagem, 12 acessórios foram despachados do depósito e 6 foram instalados. Assumindo que o sistema de banco de dados usa o mecanismo de ponto de verificação para se recuperar de falhas, alguns arquivos de log são mostrados na Tabela 5-1 . No conteúdo do registro de log: <Ti, START> significa que a transação Ti começa a ser executada, <Ti, COMMIT> significa que a transação Ti confirma, <Ti, D, V1, V2> significa que a transação Ti modifica o valor do item de dados D de V1 para V2. Por exemplo: <T1, D, 22, 3> indica que a transação T1 modifica o valor do item de dados de 22 para 3. <Ti, D, V> significa reverter o valor do item de dados de reversão da transação Ti D para V. <Ti, abort> indica o fim da transação Ti rollback. CRASH significa que o disco do sistema tem um erro. Por favor responda as seguintes questões.

Questão 1 (5 pontos)

Use 100 palavras ou menos para explicar brevemente os tipos comuns de falhas no sistema de banco de dados e explique que tipo de falhas o banco de dados mostra nos registros de log na Tabela 5-1.

Questão 2 (4 pontos)

Forneça uma lista de transações que precisam ser refeitas (Redo) e uma lista de transações que precisam ser desfeitas (Undo) quando o sistema for restaurado

Questão 3 (6 pontos)

De acordo com a lógica de negócios descrita na pergunta, preencha o espaço em branco (a) nos registros de log na Tabela 5-1; forneça os registros de log de compensação para Desfazer recuperação e preencha os espaços em branco (b) e (c).

No primeiro semestre de 2023, perguntas reais dos engenheiros de sistema de banco de dados e análises de respostas à tarde

Questão 1 (15 pontos)  Clique neste link para ver o vídeo real da análise do teste

Questão 1 (5 pontos)

 

 

Questão 2 (3 pontos)

(a) Código da peça (b) Quantidade de compra

A chave primária é uma chave primária combinada (número do modelo, nome do fornecedor, código da peça, data de compra);

Chaves estrangeiras: número do modelo, nome do fornecedor, número da peça.

Questão 3 (7 pontos)

(1)

 

 

(2)

Loja (número da loja, endereço, telefone) chave primária: número da loja

Vendas (número da loja, número do modelo, quantidade de vendas, data de vendas) chave primária combinada: (número da loja, número do modelo, data de vendas), chave estrangeira: número da loja, número do modelo

Questão 2 (15 pontos)

Questão 1 (7 pontos)

Código das peças → (nome das peças, fornecedor das peças, código do armazém das peças)

Código do Depósito de Peças de Reposição → Endereço do Depósito

Portanto, o nome da peça, o fornecedor da peça, o código do depósito da peça e o endereço do depósito são atributos redundantes.

Haverá exceções de inserção, exceções de atualização e exceções de exclusão.

Questão 2 (8 pontos)

BCNF não está satisfeito.

  1. Tabela de uso de peças de reparo (número da placa, tempo de reparo, código da peça, quantidade de peças de reparo) chave primária: número da placa + tempo de reparo + código da peça, chave estrangeira: código da peça.
  2. Tabela de informações de peças (código de peças, nome de peças, fornecedor de peças, código de armazém de peças) chave primária: código de peças, chave estrangeira: código de armazém de peças.
  3. Tabela de informações do armazém (código do armazém de peças, endereço do armazém) chave primária: código do armazém de peças

Questão 3 (15 pontos)

Questão 1 (3 pontos)

(a) único (b) CURSO (c) Cno

Questão 2 (4 pontos)

(d) INSERIR (e) Cno (f) 'C036' (g) ESTUDANTE

Questão 3 (4 pontos)

(h) K2.Cpno (i) ESQUERDA (j) ON (k) K1.Cpno=K2.Cno

Questão 4 (4 pontos)

(l) CURSO (m) NÃO EXISTE (n) SC

(o) SC.Sno=ALUNO.Sno E SC.Cno=CURSO.Cno

Questão 4 (15 pontos no total)

Questão 1 (6 pontos)

(a) IN (b) :frequência, :mérito, :hora extra (c) JOB_LEVELS T2 (d) eid=empId

(e) COMMIT (f) ROLLBACK    

Questão 2 (5 pontos)

(g) ANTES (h) ATUALIZAR (i) linha (j) '25' (k) NÃO

Questão 3 (4 pontos)

(1) O último salário atualizado dos assuntos de recompensa e punição do departamento de pessoal pode ser substituído pelo cálculo do salário final do cálculo da transação salarial final, ou seja, há uma atualização perdida.

(2) Sim, pode ocorrer impasse.

Questão 5 (15 pontos)

Questão 1 (5 pontos)

(1) Falha interna da transação; (2) Falha do sistema; (3) Falha da mídia.

Um erro de disco do sistema é uma falha de mídia.

Analisar:

 

 

Questão 2 (4 pontos)

Precisa refazer (Refazer) a transação T2, precisa desfazer (Desfazer) a transação T3.

Questão 3 (6 pontos)

(a)14 (b)<T3,I,8> (c)<T3,abortar>

Acho que você gosta

Origin blog.csdn.net/xiaornshuo/article/details/131832763
Recomendado
Clasificación