Sistema de gerenciamento de informações estudantis (banco de dados)

Funções necessárias:

(1) Entrada e manutenção de aluno, curso, professor e outras informações.Um curso só pode ser ministrado por um professor, e um professor pode ministrar vários cursos.

(2) Os alunos selecionam cursos, cerca de 20 créditos por semestre

(3) Os professores darão as notas dos alunos após o final de cada curso. Se os alunos forem reprovados, eles registrarão as notas do teste de reposição após fazerem um exame de reposição.

(4) Capaz de consultar detalhadamente a situação de seleção do curso de um determinado aluno e a situação dos alunos eletivos em um determinado curso

(5) Capacidade de consultar estatisticamente o histórico escolar de um aluno (pontuação total, pontuação média, número de portas falhadas, etc.) e informações estatísticas como o número de alunos que frequentam um curso, pontuação mais alta, pontuação mais baixa, pontuação média, etc.

Índice

I. Introdução

1.1 Antecedentes do tema

1.2 Objetivo do design do curso

1.3 Tarefas de design de curso

2. Análise de demanda

3. Projeto de banco de dados do sistema

3.1 Projeto estrutural conceitual

3.1.1 Diagrama ER do aluno

3.1.2 Diagrama ER do professor

3.1.3 Diagrama ER do curso

3.1.4 Diagrama ER de Seleção de Curso

3.1.5 Diagrama ER geral

3.2 Projeto de estrutura lógica

3.2.1 Converter o diagrama ER da estrutura conceitual geral em um modelo relacional

3.2.2 Otimização do modelo de dados

3.3 Projeto de estrutura física

4. Implementação de banco de dados

4.1 Criar banco de dados

4.2 Criação de tabelas de banco de dados

4.2.1 Criar tabela de informações do aluno

4.2.2 Criar tabela de informações do professor

4.2.3 Criar tabela de informações do curso

4.2.4 Criar tabela de informações de seleção de cursos

4.3 O diagrama de relacionamento é o seguinte

4.4Inserir dados

4.5 Atualização de dados

4.5.1 Adicionar informações de um aluno à tabela de alunos

4.5.2 Modificar o número do celular de Chen Chang

4.5.3 Excluir informações pessoais de Chen Chang

4.6 Consulta de dados

4.6.1 Consulta simples

4.6.2 Consultas aninhadas

4.6.3 Consulta difusa

4.6.4 Consulta de conexão

4.6.5 Consulta de grupo

4.6.6 Ordenação de consultas

4.6.7 Funções de agregação

4.7 Visualizar

4.7.1 Crie uma tabela de pontuação com informações sobre exames de reposição, incluindo todas as colunas

4.7.2 Criar uma tabela de informações do curso contendo apenas cursos profissionais básicos

5. Resumo

I. Introdução

1.1 Antecedentes do tema

    Com o advento da era da informação, a tecnologia informática também tem sido amplamente utilizada, proporcionando métodos mais avançados, convenientes e eficientes para a gestão de faculdades e universidades. Diante dos problemas de gestão acadêmica universitária, desenvolver um sistema de gestão de informações estudantis tornou-se uma tarefa muito importante e necessária. O sistema experimental de gerenciamento de informações estudantis de banco de dados é um software de gerenciamento universitário desenvolvido com base na tecnologia de banco de dados.

   O principal objetivo deste sistema é gerenciar informações básicas dos alunos, informações sobre cursos, informações sobre notas, informações sobre seleção de cursos, etc. No sistema de gestão de informações estudantis, as informações básicas dos alunos podem ser gerenciadas de maneira uniforme, como nome, número do aluno, sexo, data de nascimento, local de origem, dados de contato, etc., bem como o desempenho dos alunos e a seleção do curso. Ao mesmo tempo, o sistema possui funções de controle de acesso, que podem efetivamente impedir que informações sejam roubadas ou modificadas. Através deste sistema, consegue-se uma gestão integral e meticulosa dos alunos, melhorando significativamente a eficiência do trabalho e reduzindo o investimento em recursos humanos.

1.2 Objetivo do design do curso

(1) Uso prático da tecnologia de banco de dados: Como um aplicativo básico de banco de dados, o sistema de gerenciamento de informações do aluno possui operações básicas e não envolve muitas tabelas e campos, mas é muito prático e permite que os alunos comecem rapidamente a usar o software de banco de dados e entendam conceitos e fundamentos de bases de dados.Função.

(2) Projeto e implementação de banco de dados de aprendizagem: O sistema de gerenciamento de informações do aluno envolve o design de várias tabelas relacionadas.Através do design e implementação do sistema de aprendizagem, os alunos podem compreender os métodos e técnicas de design de banco de dados, incluindo modelagem de entidade e relacionamento, Design de tabela, definição de atributos, configuração de índices e uso de sintaxe, etc.

(3) Cultivar as capacidades de gestão da informação dos alunos: As funções do sistema de gestão da informação dos alunos são relativamente abrangentes, permitindo aos alunos aprender métodos e técnicas básicas de gestão da informação e melhorar as suas capacidades de gestão da informação através da entrada, consulta e gestão de informações.

(4) Melhorar as capacidades de aplicação abrangentes dos alunos: A concepção e implementação de sistemas de gestão de informação dos alunos requerem conhecimentos de múltiplas disciplinas, tais como estruturas de dados, algoritmos, tecnologias de bases de dados, etc.

1.3 Tarefas de design de curso

1. Análise de requisitos: Esclarecer os requisitos para o uso, função, desempenho e qualidade do sistema de gerenciamento de informações do aluno e formular as especificações de requisitos do produto correspondentes.

2. Projeto de conceito: De acordo com a especificação de requisitos, modele entidades e relacionamentos, projete diagramas ER e estruturas de tabelas e esclareça os requisitos de armazenamento do banco de dados.

3. Projeto lógico: Projetar a arquitetura lógica do sistema, incluindo modelagem de banco de dados, escrita de instruções SQL e dicionário de dados, etc.

4. Projeto físico: Projetar a arquitetura física do sistema, incluindo a criação, armazenamento e gerenciamento de bancos de dados, tabelas e índices.

5. Implementação e teste: De acordo com os requisitos de design, implemente e teste várias funções do sistema de gerenciamento de informações do aluno, incluindo adição, modificação, exclusão de registros, consulta, estatísticas de dados e análise de relatórios, etc.


2. Análise de demanda

Os utilizadores deste sistema são gestores de apartamentos de estudantes e professores, cujas principais tarefas na gestão diária dos apartamentos incluem: consulta e gestão de informações dos alunos, atribuição e ajuste de dormitórios, registo de visitantes, etc. Com base na análise dos requisitos acima, este sistema deverá ter as seguintes funções em implementação:

◎ Gerenciamento de informações básicas do aluno: adicionar, modificar, consultar e excluir informações básicas do aluno;

◎ Gerenciamento de informações básicas do professor: adicionar, modificar, consultar e excluir informações básicas do professor;

◎ Gerenciamento de informações básicas do curso: adicione, modifique, consulte e exclua informações básicas do curso;

◎ Gerenciamento básico de informações sobre pontuações de seleção de cursos: adição, modificação, consulta, exclusão de informações e pontuações de seleção de cursos e inserção de pontuações de reposição.

Com base na análise acima, o diagrama de arquitetura do sistema deste sistema pode ser projetado

                                           

3. Projeto de banco de dados do sistema

3.1 Projeto estrutural conceitual

Com base na análise de requisitos, a estrutura da informação é abstraída e o diagrama ER do sistema pode ser obtido.

Diagrama ER parcial

3.1.1 Diagrama ER do aluno

                                                                

3.1.2 Diagrama ER do professor

                                                               

3.1.3 Diagrama ER do curso

                                                              

3.1.4 Diagrama ER de Seleção de Curso

                                                               

3.1.5 Diagrama ER geral

                                                             

3.2 Projeto de estrutura lógica

3.2.1 Converter o diagrama ER da estrutura conceitual geral em um modelo relacional

Modelo relacional:

Aluno (ID do aluno#, nome, sexo, informações de contato)

Professor (Número do professor, nome, sexo, informações de contato)

curso (número do curso#, número do tutorial, Nome do curso, departamento)

Escolha (Número do procedimento#Número da escola# ,tipo de crescimento #, crescimento)

3.2.2 Otimização do modelo de dados

  •  Determinar dependências de dados

1. Aluno (ID do aluno#, nome, sexo, informações de contato)

Terceiro paradigma: ID do Estudante -> (nome, sexo, informações de contato)

2. Professor (Professor nº#, nome, sexo, informações de contato)

Terceira Forma Normal: Número do professor->(Nome, sexo, informações de contato)

3. Curso (Procedimento #, Número do professor, nome do curso, créditos)

Terceira função:número do curso-> ( Número do livro didático, nome do curso, departamento)

4. Selecione (Número de matrícula#Grau acadêmico#Conclusão Digite #, Crescimento)

Terceira opção: (nome do curso, grau acadêmico, tipo de conclusão) ->( realização)

  • Minimize as dependências de dados entre cada modelo de relacionamento e elimine a redundância

Através da análise, verifica-se que não há redundância de dados no relacionamento: o número da escola secundária Sno no relacionamento do aluno determina as informações do aluno; o número do professor é usado como chave primária no relacionamento do professor; o número do curso é usado como a chave primária no relacionamento do curso; no relacionamento de seleção do curso, (número do curso, número do aluno, tipo de pontuação) juntos como a chave primária para determinar exclusivamente uma pontuação de teste. Como existem exames complementares, o tipo de pontuação precisa ser usado para diferenciar. O hábito do tipo de pontuação pode ser selecionado como exames normais ou de reposição.

3.3 Projeto de estrutura física

3.3.1 Estrutura da tabela de informações dos alunos

número de série

nome do personagem

tipo de dados

comprimento

ilustrar

1

Identidade estudantil

Caracteres

10

Número do aluno, chave primária

2

Nome

varchar

20

Vazio não é permitido

3

gênero

Caracteres

2

Vazio não é permitido

verificar restrições

4

Informações de contato

Caracteres

11

Permitir vazio

5

Aniversário

Data

Permitir vazio

3.3.2 Estrutura da tabela de informações do professor

número de série

nome do personagem

tipo de dados

comprimento

ilustrar

1

Número do professor

Caracteres

10

Número do professor, chave primária

2

Nome

varchar

20

Vazio não é permitido

3

gênero

Caracteres

2

Vazio não é permitido

verificar restrições

4

Informações de contato

Caracteres

11

Permitir vazio

3.3.3 Estrutura da tabela de informações do curso

número de série

Nome do campo

tipo de dados

comprimento

ilustrar

1

Número do curso

Caracteres

10

chave primária

2

nome do curso

varchar

20

Vazio não é permitido

3

Número do professor

Caracteres

10

Número do professor, chave estrangeira

4

crédito

minúsculoint

não vazio

Verifique as restrições

3.3.4 Estrutura da tabela de informações de pontuação de seleção do curso

 número de série

Nome do campo

tipo de dados

comprimento

ilustrar

1

Identidade estudantil

Caracteres

10

chave primária, chave estrangeira

2

Número do curso

Caracteres

10

chave primária, chave estrangeira

3

tipo de nota

Caracteres

2

chave primária

Verifique as restrições

4

Fração

minúsculoint

não vazio

Verifique as restrições


Quatro, número implementação da instalação

4.1 Criar banco de dados

criar banco de dados sms

no primário

(

nome=sms,

nome do arquivo='D:\SQLSERVER_DB\sms.mdf',

tamanho = 20 MB,

MAXsize=ilimitado,

crescimento do arquivo = 10 MB

)

  entrar

(

nome=sms_log,

nome do arquivo='D:\SQLSERVER_DB\sms_log.ldf',

tamanho = 2 MB,

tamanho máximo = 10 MB,

crescimento do arquivo = 10%

)

4.2 Criação de tabelas de banco de dados

4.2.1 Criar tabela de informações do aluno

criar tabela aluno(

chave primária sno char (10),

[nome] varchar(20) não nulo,

sex char(2) verificação não nula(sexo='masculino' ou sexo='feminino'),

telefone char(11)

)

4.2.2 Criar tabela de informações do professor

criar mesa professor(

chave primária sno char (10),

[nome] varchar(20) não nulo,

sex char(2) verificação não nula(sexo='masculino' ou sexo='feminino'),

telefone char(11)

)

4.2.3 Criar tabela de informações do curso

criar curso de mesa (

chave primária cno char(10),

[cname] varchar(20) não nulo,

sem caractere (10),

crédito tinyint check(crédito entre 1 e 2), --credit

restrição FK_teacher_tno chave estrangeira (tno) faz referência a professor (tno)

)

4.2.4 Criar tabela de informações de seleção de cursos

criar nota de tabela (

nenhum caractere (10),

sno char(10),

gtype char(2) check(gtype in ('zc','bk')), --score type, zc é normal, bk é um teste de maquiagem

verificação de crédito tinyint (crédito entre 0 e 100), - pontuação

restrição PK_cno_tno_gtype chave primária (cno,sno,gtype),--chave primária conjunta

restrição FK_course_cno chave estrangeira (cno) faz referência ao curso (cno), --外键

restrição FK_student_sno chave estrangeira (sno) faz referência a estudante (sno) --外键

)

4.3 O diagrama de relacionamento é o seguinte

4.4Inserir dados

--Inserir informações do aluno

inserir nos valores do aluno('1932101101','2000- 11-10');

inserir nos valores do aluno('1932101102','Yin Yao','Man','15170000002','2001- 10- 10');

inserir nos valores do aluno('1932101103','Yu Jun','Masculino','15170000003','2002- 06- 10');

inserir nos valores do aluno('1932101104','Kaguya','Feminino','15170000004','2003- 11-10& #39;);

inserir nos valores do aluno('1932101105','Chenchen','Feminino','15170000005','2004- 11-10& #39;);

--Inserir informações do professor

inserir nos valores do professor('1000000001','Wang Xin','Feminino','19170000001');

inserir nos valores do professor('1000000002','Ding','Homem','19170000002');

inserir nos valores do professor('1000000003','Li Tao','Masculino','19170000003');

--Inserir informações do curso

inserir nos valores do curso('zyjc000001','Princípio do banco de dados','1000000001',2);

inserir nos valores do curso('zyjc000002','Programação Java','1000000001',2);

inserir nos valores do curso('zyhx000003','sistema operacional','1000000002',1);

inserir nos valores do curso('zyhx000004','Rede de Computadores','1000000002',2);

inserir nos valores do curso('zyjc000005','Princípios de Composição de Computador','1000000003',1);

inserir nos valores do curso('zyjc000006','Matemática Superior','1000000003',2);

--Inserir informações de seleção do curso

inserir nos valores da nota('zyjc000001','1932101101','zc',85);

inserir nos valores da nota('zyjc000001','1932101102','zc',75);

inserir nos valores da nota('zyjc000001','1932101103','zc',65);

inserir nos valores da nota('zyjc000001','1932101104','zc',95);

inserir nos valores da nota('zyjc000001','1932101105','zc',70);

inserir nos valores da nota('zyjc000002','1932101101','zc',85);

inserir nos valores da nota('zyjc000002','1932101102','zc',80);

inserir nos valores da nota('zyjc000002','1932101103','zc',70);

inserir nos valores da nota('zyhx000003','1932101101','zc',85);

inserir nos valores da nota('zyhx000003','1932101102','zc',80);

inserir nos valores da nota('zyhx000003','1932101103','zc',75);

inserir nos valores da nota('zyhx000003','1932101104','zc',70);

inserir nos valores da nota('zyhx000003','1932101105','zc',65);

inserir nos valores da nota('zyhx000004','1932101101','zc',85);

inserir nos valores da nota('zyhx000004','1932101102','zc',70);

inserir nos valores da nota('zyhx000004','1932101103','zc',60);

inserir nos valores da nota('zyhx000003','1932101104','bk',99);

inserir nos valores da nota('zyhx000003','1932101105','bk',94);


4.5 Atualização de dados

4.5.1 Adicionar informações de um aluno à tabela de alunos

inserir no aluno

valores('1932101106','Chen Chang','Feminino','15170000006');

                                                                     Inserção de dados

4.5.2 Modificar o número do celular de Chen Chang

atualizar conjunto de alunos tel='15170000016' onde sno='1932101106';

   Modificação de dados

4.5.3 Excluir informações pessoais de Chen Chang

excluir do aluno onde sno='1932101106';

                                                                     Exclusão de dados

4.6 Consulta de dados

4.6.1 Consulta simples

Consultar informações da tabela dos alunos

selecione * do aluno;

 4.6.2 Consultas aninhadas

Consultar informações sobre o aluno mais velho

selecione * do aluno onde nascimento=(selecione min(nascimento) do aluno);

4.6.3 Consulta difusa

Consulte as informações de todos os alunos chamados Hui

selecione * do aluno onde o nome é '辉%';

4.6.4 Consulta de conexão

Verifique o nome do curso e o professor

selecione c.cname,t.tname

do curso c, professor t

onde c.tno=t.tno;

Verifique a situação de seleção do curso do aluno número 1932101104

selecione * da nota g

saiu do curso c em c.cno=g.cno

onde g.sno='1932101104';

4.6.5 Consulta de grupo

Consultar a quantidade de cursos ministrados por cada professor

selecione COUNT(*) como count,tno do grupo de cursos por tno;

Consultar o número de alunos optativos em um curso

selecione COUNT(*) como contagem,c.cno

do curso c

à esquerda, junte-se à nota g em c.cno=g.cno

grupo por c.cno

tendo c.cno='zyhx000004'

4.6.6 Ordenação de consultas

Consultar as informações de nota do curso número zyjc000001 em ordem decrescente de notas

selecione * da nota

onde cno='zyjc000001'

encomendar por desc de crédito;

 

4.6.7Função de união

Estatísticas do histórico escolar de um aluno (pontuação total, pontuação média, número de portas reprovadas)

selecione

não,

EU SOU (acredito) eu sou

Média (crédito) média,

COUNT(CASE WHEN credit<60 THEN 1 END) como contagem

da série

onde sno='1932101104'

agrupar por sno;

Estatísticas sobre o número de alunos cursando um curso, a nota mais alta, a nota mais baixa e a nota média

selecione

c.cno,

COUNT(g.sno) contagem,

MAX(g.crédito) máx,

MIN(g.crédito) min,

AVG(g.crédito) média

do curso c

à esquerda, junte-se à nota g em g.cno=c.cno

onde c.cno='zyhx000003'

agrupar por c.cno;

4.7 Visualizar

4.7.1 Crie uma tabela de pontuação com informações sobre exames de reposição, incluindo todas as colunas

criar visualização v_grade_bk

como

selecione * da nota onde gtype='bk';

selecione * de v_grade_bk;

4.7.2 Criar uma tabela de informações do curso contendo apenas cursos profissionais básicos

criar visualização v_course_zyjc

como

selecione * do curso onde cno gosta de 'zyjc%';

selecione * de v_course_zyjc;


5. Resumo

Esta experiência no projeto de um sistema de gerenciamento de informações para estudantes no curso de banco de dados me proporcionou uma compreensão mais profunda dos conceitos e aplicações de bancos de dados. Durante o experimento, aprendi sobre as operações específicas do banco de dados projetando e implementando um sistema de gerenciamento de informações dos alunos e esclareci as vantagens, desvantagens e cenários de aplicação do banco de dados. Ao mesmo tempo, também descobri que muitos problemas ocorreram durante o experimento, incluindo design de banco de dados irracional e cenários de aplicação pouco claros, que precisam continuar a ser melhorados em estudos e práticas futuras. Existem operações práticas e práticas em vários aspectos, como design conceitual, design lógico e design físico. Durante o experimento, encontrei muitas dificuldades e problemas, como o design da tabela não era razoável o suficiente, a configuração do índice não era razoável o suficiente, a escrita de instruções SQL não era proficiente o suficiente, o design do índice não era preciso o suficiente, etc. , por meio de uma solução passo a passo, finalmente projetei. Um sistema de gerenciamento de informações de alunos estável e eficiente foi implementado. Deu-me uma compreensão mais profunda da importância e necessidade das bases de dados na gestão e aplicação da informação, e também melhorou as minhas capacidades e competências em operações práticas. No estudo e na prática a seguir, continuarei a aprimorar minhas habilidades em banco de dados, melhorando e me desafiando constantemente.

Acho que você gosta

Origin blog.csdn.net/m0_62869063/article/details/131118892
Recomendado
Clasificación