数据库原理 试卷
以下是某高校教学管理系统的毕业论文指导ER图,数据信息:一名教师指导多名学生,一名学生只能选择一名教师,试分析完成以下各题,如用SQL命令完成的,在SQL Server2008验证后把答案写在题目的下方。
图1 毕业论文指导ER图
表1 教师实体属性相关信息
实体 | 属性名 | 数据类型 | 描述 |
教师 | TNO | CHAR(4) | 教师号 |
TN | NVARCHAR(10) | 姓名 | |
SEX | NCHAR(1) | 教师性别 | |
PF | NVARCHAR(10) | 教师专业 | |
PROF | NVARCHAR(10) | 教师职称 |
表2 课程实体属性相关信息
实体 | 属性名 | 数据类型 | 描述 |
学生 | SNO | CHAR(6) | 学号 |
SN | NVARCHAR(10) | 姓名 | |
SEX | NCHAR(1) | 性别 | |
AGE | INT | 年龄 | |
PF | NVARCHAR(10) | 学生专业 |
根据题意,完成下面各题,SQL命令在SQL Server 2008验证后,把SQL命令写在本文档的题目后。
一、分析实体教师与实体学生的联系方式。(本题共 3分)
答案:教师与学生之间是一对多(1:N)的联系。一名教师可以指导多名学生,而一名学生只能选择一名教师作为指导老师。
二、将概念模型的ER图转化成相应关系模式,指出关系的主码,如有外码,指出码,关系名自拟。(本题共 8分)
答案:
教师(TNO,TN,SEX,PF,PROF)
主码:TNO
无外码
学生(SNO,SN,SEX,AGE,PF,TNO)
主码:SNO
外码:TNO(引用教师表的 TNO)
三、第二题所得的关系模式最高满足第几范式?为什么?(本题共 6分)
答案:
最高满足第三范式(3NF)。
第一范式(1NF):所有属性都是原子的,不可再分,满足。
第二范式(2NF):每个非主属性完全依赖于主码。在教师表和学生表中,所有非主属性都完全依赖于各自的主码(TNO 和 SNO),满足。
第三范式(3NF):每个非主属性既不部分依赖于主码也不传递依赖于主码。教师表中的属性直接依赖于 TNO,学生表中的属性直接依赖于 SNO,且 TNO 对学生表中的非主属性的依赖是通过主码 SNO 传递的,但这是合理的外码约束,不存在非主属性之间的传递依赖,满足。
四、用SQL命令创建教学管理数据库STU,并切换到STU数据库。(本题共 6分)
答案:
CREATE DATABASE STU;
GO
USE STU;
五、用SQL命令按第二题的关系模式创建数据表,表名自拟,并按实际应用情况设计各属性的约束条件,比如各表的主码等。(本题共24分)
答案:
创建教师表:
CREATE TABLE Teachers (
TNO CHAR(4) PRIMARY KEY,
TN NVARCHAR(10) NOT NULL,
SEX NCHAR(1) CHECK (SEX IN ('男', '女')),
PF NVARCHAR(10) NOT NULL,
PROF NVARCHAR(10) NOT NULL
);
创建学生表:
CREATE TABLE Students (
SNO CHAR(6) PRIMARY KEY,
SN NVARCHAR(10) NOT NULL,
SEX NCHAR(1) CHECK (SEX IN ('男', '女')),
AGE INT CHECK (AGE BETWEEN 15 AND 50),
PF NVARCHAR(10) NOT NULL,
TNO CHAR(4) FOREIGN KEY REFERENCES Teachers(TNO)
);
六、用SQL命令把以下教师信息、学生信息及指导情况添加到数据表中。(本题共12分)
1.教师信息有:
编号1001教师:王小吉、男、计算机专业、副教授职称;
编号1002教师:李明、女、数学专业、教授职称;
编号1003教师:姜丽、女、市场营销专业、讲师职称。
2.学生信息有:
编号11001学生:李勇、男、数学专业、年龄21;
编号11003学生:刘成、女、数学专业、年龄20;
编号11004学生:王敏、女、电子商务专业、年龄19;
3.毕业论文指导情况有:
李明教师指导李勇和刘成,姜丽教师指导王敏。
答案:
添加教师信息:
INSERT INTO Teachers (TNO, TN, SEX, PF, PROF)
VALUES
('1001', '王小吉', '男', '计算机专业', '副教授'),
('1002', '李明', '女', '数学专业', '教授'),
('1003', '姜丽', '女', '市场营销专业', '讲师');
添加学生信息及指导关系:
INSERT INTO Students (SNO, SN, SEX, AGE, PF, TNO)
VALUES
('11001', '李勇', '男', 21, '数学专业', '1002'),
('11003', '刘成', '女', 20, '数学专业', '1002'),
('11004', '王敏', '女', 19, '电子商务专业', '1003');
七、SQL命令完成以下各题。(本题共7小题,每小题5分,共35分)
1.查询所有教师信息。
答案:
SELECT * FROM Teachers;
2.查询年龄在19至20岁之间的学生姓名、专业、年龄。
答案:
SELECT SN, PF, AGE
FROM Students
WHERE AGE BETWEEN 19 AND 20;
3.查询1002教师指导的学生信息。
答案:
SELECT *
FROM Students
WHERE TNO = '1002';
4.把电子商务女学生的年龄更新为21岁。
答案:
UPDATE Students
SET AGE = 21
WHERE PF = '电子商务专业' AND SEX = '女';
5.为教师姓名添加唯一值索引。
答案:
CREATE UNIQUE INDEX idx_Teachers_TN
ON Teachers (TN);
6.查询不是教授职称的教师姓名、职称、专业。
答案:
SELECT TN, PROF, PF
FROM Teachers
WHERE PROF <> '教授';
7.查询没有指导学生的教师的信息。
答案:
SELECT *
FROM Teachers
WHERE TNO NOT IN (SELECT DISTINCT TNO FROM Students WHERE TNO IS NOT NULL);
八、创建教师指导学生的视图,包含教师姓名、学生学号、学生姓名、学生专业,视图名为Guide(本题6分)
答案:
CREATE VIEW Guide AS
SELECT T.TN AS 教师姓名, S.SNO AS 学生学号, S.SN AS 学生姓名, S.PF AS 学生专业
FROM Teachers T
LEFT JOIN Students S ON T.TNO = S.TNO;
相关文章:

数据库原理 试卷
以下是某高校教学管理系统的毕业论文指导ER图,数据信息:一名教师指导多名学生,一名学生只能选择一名教师,试分析完成以下各题,如用SQL命令完成的,在SQL Server2008验证后把答案写在题目的下方。 图1 毕业论…...

【Qt开发】对话框
目录 1,对话框的介绍 2,Qt内置对话框 2-1,消息对话框QMessageBox 2-2,颜色对话框QColorDialog 2-3,文件对话框QFileDialog 2-4,字体对话框QFontDialog 2-5,输入对话框QInputDialog 1&…...
Ubuntu上进行VS Code的配置
1. 安装VS code sudo snap install code --classic 2. 安装GCC sudo apt install build-essential 3. 安装VS Code中文包 打开 VS Code 点击左侧活动栏中的扩展图标(或按Ctrl+Shift+X) 在搜索框中输入:Chinese (Simplified) 选择由 Microsoft 提供的 中文(简体)语言包…...
阴盘奇门 api数据接口
阴盘奇门,又称"道家阴盘遁甲"或"法术奇门",与阳盘奇门(奇门排盘)并称"奇门双雄"。由王凤麟教授整合道家三式(奇门、六壬、太乙)精髓创立,独创行为风水与立体全息预测技术,广…...

2025年渗透测试面试题总结-匿名[校招]攻防研究员(应用安全)(题目+回答)
安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。 目录 匿名[校招]攻防研究员(应用安全) 基础部分 1. HTTP状态码 2. HTTP请求方法及作用 3. 网络分层及协议 OW…...

碰一碰发视频系统--基于H5场景开发
#碰一碰发视频# 旨在构建一个基于移动网页(H5)的视频“碰传”交互系统,提供类似华为/苹果设备 NFC 轻碰分享的便捷体验。其核心技术依赖于移动端可用的近场通信(NFC 或 H5 相关 API)和可靠的媒体数据传输方案。实现细节…...

MagicAnimate 论文解读:引入时间一致性的视频人物动画生成方法
1. 前言/动机 问题:现有动画生成方法缺乏对时间信息的建模,常常出现时间一致性差的问题 描述: 现有的动画生成方法通常采用帧变形(frame-warping)技术,将参考图像变形以匹配目标动作。尽管这类方法能生成较…...
QT使用说明
QT环境准备 推荐Ubuntu平台上使用,配置简单,坑少。 Ubuntu 20.04 安装 sudo apt-get install qt5-default -y sudo apt-get install qtcreator -y sudo apt-get install -y libclang-common-8-dev启动 qtcreatorHelloWorld 打开 Qt Creator。选择 …...

数据结构:递归(Recursion)
目录 示例1:先打印,再递归 示例2:先递归,再打印 递归的两个阶段 递归是如何使用栈内存 复杂度分析 递归中的静态变量 内存结构图解 递归:函数调用自己 必须有判断条件来使递归继续或停止 我们现在通过这两个示…...

Cesium快速入门到精通系列教程一:打造第一个Cesium应用
一、打造第一个Cesium应用 1、官方渠道下载Cesium(可选择历史版本) GitHub Releases页面:https://github.com/CesiumGS/cesium/releases 访问 Cesium GitHub Releases,此处列出了所有正式发布的版本。 通过标签&#…...

力扣题解106:从中序与后序遍历序列构造二叉树
一、题目内容 题目要求根据二叉树的中序遍历序列和后序遍历序列来重建二叉树。具体来说,我们需要利用中序遍历序列和后序遍历序列的特点,通过递归的方法逐步构建出完整的二叉树。 中序遍历序列的特点是:左子树 -> 根节点 -> 右子树。后…...
Vue传参Props还是Pinia
Pinia 适用场景 全局状态管理 多个不相关组件需要共享数据需要跨页面/路由共享状态 复杂状态逻辑 包含多个相互关联的状态有复杂的状态修改逻辑 持久化需求 需要将状态保存到localStorage/sessionStorage页面刷新后需要恢复状态(恢复最后一次修改的状态࿰…...

学习STC51单片机25(芯片为STC89C52RCRC)
每日一言 生活就像弹簧,你弱它就强,你强它就弱,别轻易认输。 ESP8266作为路由器模式(AP模式)也就是在局域网内可以有服务器的作用 那么我们需要将pc作为设备进行连接ESP的发射出来的WIFE 叫做这个AI啥的 也有可能叫做…...

宁夏农业科技:创新引领,赋能现代农业新篇章
在广袤的宁夏大地上,农业科技如同一股强劲的春风,吹拂着每一寸土地,为宁夏的农业发展注入了新的活力与希望。近年来,宁夏农业科技以其独特的创新力和实践力,不断推动着现代农业的转型升级,让这片古老的土地…...

Accelerate 2025北亚巡展正式启航!AI智御全球·引领安全新时代
近日,网络安全行业年度盛会Accelerate 2025北亚巡展正式在深圳启航!智库专家、产业领袖及Fortinet高管、产品技术团队和300余位行业客户齐聚一堂,围绕“AI智御全球引领安全新时代”主题,共同探讨AI时代网络安全新范式。大会聚焦三…...

005学生心理咨询评估系统技术解析:搭建科学心理评估平台
学生心理咨询评估系统技术解析:搭建科学心理评估平台 在心理健康教育日益受重视的当下,学生心理咨询评估系统成为了解学生心理状态的重要工具。该系统涵盖试卷管理、试题管理等核心模块,面向管理员和用户两类角色,通过前台展示与…...
azure devops 系列 - 常用的task
任务在管道中执行操作。例如,任务可以构建应用、与 Azure 资源交互、安装工具或运行测试。任务是定义管道中自动化的构建基块。 运行作业时,所有任务都会按顺序依次运行。要在多个代理上并行运行同一组任务,或者在不使用代理的情况下运行某些任务,使用job。 Build Task …...

贪心算法应用:多重背包启发式问题详解
贪心算法应用:多重背包启发式问题详解 多重背包问题是经典的组合优化问题,也是贪心算法的重要应用场景。本文将全面深入地探讨Java中如何利用贪心算法解决多重背包问题。 多重背包问题定义 **多重背包问题(Multiple Knapsack Problem)**是背包问题的变…...

【保姆级教程】PDF批量转图文笔记
如果你有一个PDF文档,然后你想把它发成图文笔记emmm,最好再加个水印,你会怎么做? 其实也不麻烦,打开PDF文档,挨个截图,然后打开PS一张一张图片拖进去,再把水印图片拖进去࿰…...
Pytest Fixture 是什么?
Fixture 是什么? Fixture 是 Pytest 测试框架的核心功能之一,用于为测试函数提供所需的依赖资源或环境。它的核心目标是: ✅ 提供测试数据(如模拟对象、数据库记录) ✅ 初始化系统状态(如配置、临时文件&a…...
Spring Boot 基础知识全面解析:快速构建企业级应用的核心指南
一、Spring Boot 概述:重新定义 Java 开发 1.1 什么是 Spring Boot? Spring Boot 是基于 Spring 框架的快速开发框架,旨在简化 Spring 应用的初始搭建及开发过程。它通过 「约定优于配置」(Convention Over Configuration&#…...

数据库系统概论(十一)SQL 集合查询 超详细讲解(附带例题表格对比带你一步步掌握)
数据库系统概论(十一)SQL 集合查询 超详细讲解(附带例题表格对比带你一步步掌握) 前言一、什么是集合查询?二、集合操作的三种类型1. 并操作2. 交操作3. 差操作 三、使用集合查询的前提条件四、常见问题与注意事项五、…...
[mcu]系统频率
系统主频的选择直接影响性能、功耗和成本,不同厂商的芯片会根据应用场景设计不同的运行频率。 低频段80MHZ~160MHz 典型频率: 80MHz、120MHz、160MHz 特点: 低功耗,适合电池供电设备 处理能力有限,通常仅支持 单天线…...

clickhouse如何查看操作记录,从日志来查看写入是否成功
背景 插入表数据后,因为原本表中就有数据,一时间没想到怎么查看插入是否成功,因为对数据源没有很多的了解,这时候就想怎么查看下插入是否成功呢,于是就有了以下方法 具体方法 根据操作类型查找,比如inse…...

5G-A:开启通信与行业变革的新时代
最近,不少细心的用户发现手机信号标识悄然发生了变化,从熟悉的 “5G” 变成了 “5G-A”。这一小小的改变,却蕴含着通信技术领域的重大升级,预示着一个全新的通信时代正在向我们走来。今天,就让我们深入了解一下 5G-A&a…...
鸿蒙OS在UniApp中集成Three.js:打造跨平台3D可视化应用#三方框架 #Uniapp
在UniApp中集成Three.js:打造跨平台3D可视化应用 引言 在最近的一个项目中,我们需要在UniApp应用中展示3D模型,并实现实时交互功能。经过技术选型和实践,我们选择了Three.js作为3D渲染引擎。本文将分享我们在UniApp中集成Three.…...
Vue 3 组件化设计实践:构建可扩展、高内聚的前端体系
Vue 3 自发布以来,其引入的 Composition API 与改进的组件模型,为前端架构提供了更强的可组合性、复用性与模块化能力。本文将系统性探讨 Vue 3 如何通过组件化设计,实现复杂应用的解耦、扩展与维护,并结合实际工程经验提供最佳实…...
腾讯云 Python3.12.8 通过yum安装 并设置为默认版本
在腾讯云服务器上,直接通过 yum 安装 Python 3.12.8 可能不可行,因为标准仓库通常不包含最新的 Python 版本。不过,我们可以通过添加第三方仓库或手动安装 RPM 包的方式实现。以下是完整解决方案: 方法 1: 通过第三方仓库安装&am…...
鸿蒙OSUniApp页面切换动效实战:打造流畅精致的转场体验#三方框架 #Uniapp
UniApp页面切换动效实战:打造流畅精致的转场体验 引言 在移动应用开发中,页面切换动效不仅能提升用户体验,还能传达应用的品质感。随着HarmonyOS的普及,用户对应用的动效体验要求越来越高。本文将深入探讨如何在UniApp中实现流畅…...
React 泛型组件:用TS来打造灵活的组件。
文章目录 前言一、什么是泛型组件?二、为什么需要泛型组件?三、如何在 React 中定义泛型组件?基础泛型组件示例使用泛型组件 四、泛型组件的高级用法带默认类型的泛型组件多个泛型参数 五、泛型组件的实际应用场景数据展示组件表单组件状态管…...