2021数据库系统实战:SQLServer任务与关系表构建
需积分: 0 43 浏览量
更新于2024-08-04
收藏 40KB DOCX 举报
本次实践任务书主要涉及数据库系统原理的学习与应用,具体分为软件功能练习和SQL语句操作两部分。首先,在软件功能学习部分,学生需要熟悉并掌握主流关系数据库管理系统(如SQL Server),重点是理解备份和恢复策略。任务1要求学生实际操作数据和日志文件的脱机备份,以及系统备份功能,确保备份过程的完整性和安全性。此外,还要创建用户并配置权限,通过实际尝试验证权限设置的有效性。
在SQL练习部分,情境设定了一个疫情期间的疫情追踪系统,其中包含地点、人员、行程、诊断结果、密切接触者以及隔离等关键信息。学生需要在数据库管理系统(DBMS)中设计并实现以下关系表:
1. 人员表(person):包括人员编号(主码)、姓名和电话,用于存储个人基本信息。
SQL语句示例:
```sql
CREATE TABLE person (
id INT PRIMARY KEY,
fullname VARCHAR(20),
telephone CHAR(11)
);
```
2. 地点表(location):包含地点编号和地点名称,作为其他表的外键。
```sql
CREATE TABLE location (
id INT PRIMARY KEY,
location_name VARCHAR(20)
);
```
3. 行程表(itinerary):记录人员行程,包含行程编号、人员编号、地点编号、开始时间和结束时间。
```sql
CREATE TABLE itinerary (
id INT PRIMARY KEY,
p_id INT,
loc_id INT,
s_datetime DATETIME,
e_datetime DATETIME,
FOREIGN KEY (p_id) REFERENCES person(id),
FOREIGN KEY (loc_id) REFERENCES location(id)
);
```
4. 诊断表(diagnose_record):包含诊断编号、人员编号、诊断日期和结果,结果可能为新冠确诊、无症状感染者或正常。
```sql
CREATE TABLE diagnose_record (
id INT PRIMARY KEY,
p_id INT,
diagnose_date DATETIME,
result INT,
FOREIGN KEY (p_id) REFERENCES person(id)
);
```
5. 密切接触者表(close_contact):记录密切接触情况,有被接触者编号、接触日期、地点编号和病例人员编号。
```sql
CREATE TABLE close_contact (
id INT PRIMARY KEY,
p_id INT,
contact_date DATETIME,
loc_id INT,
case_p_id INT,
FOREIGN KEY (p_id) REFERENCES person(id),
FOREIGN KEY (loc_id) REFERENCES location(id),
FOREIGN KEY (case_p_id) REFERENCES diagnose_record(id)
);
```
6. 隔离表(isolation_):记录隔离信息,包含隔离编号、被隔离人员编号、隔离开始和结束日期、隔离地点编号以及隔离状态。
```sql
CREATE TABLE isolation_ (
id INT PRIMARY KEY,
p_id INT,
start_isolation_date DATETIME,
end_isolation_date DATETIME,
loc_id INT,
isolation_status VARCHAR(20),
FOREIGN KEY (p_id) REFERENCES person(id),
FOREIGN KEY (loc_id) REFERENCES location(id)
);
```
整个任务要求学生综合运用数据库理论知识,设计合理的数据结构,并通过实际操作加深对SQL语言的理解,同时锻炼数据管理的能力。实践中需注意完整性约束、关联关系的定义以及备份恢复策略的运用。完成后的实践报告应包含每个步骤的详细过程和所用到的SQL语句,以及可能遇到的问题和解决方案。
2022-08-08 上传
2022-08-08 上传
2022-08-08 上传
2022-08-08 上传
2022-08-08 上传
2021-10-25 上传
2009-01-03 上传
2021-07-17 上传
2021-07-09 上传
嗨了伐得了
- 粉丝: 26
- 资源: 290
最新资源
- JHU荣誉单变量微积分课程教案介绍
- Naruto爱好者必备CLI测试应用
- Android应用显示Ignaz-Taschner-Gymnasium取消课程概览
- ASP学生信息档案管理系统毕业设计及完整源码
- Java商城源码解析:酒店管理系统快速开发指南
- 构建可解析文本框:.NET 3.5中实现文本解析与验证
- Java语言打造任天堂红白机模拟器—nes4j解析
- 基于Hadoop和Hive的网络流量分析工具介绍
- Unity实现帝国象棋:从游戏到复刻
- WordPress文档嵌入插件:无需浏览器插件即可上传和显示文档
- Android开源项目精选:优秀项目篇
- 黑色设计商务酷站模板 - 网站构建新选择
- Rollup插件去除JS文件横幅:横扫许可证头
- AngularDart中Hammock服务的使用与REST API集成
- 开源AVR编程器:高效、低成本的微控制器编程解决方案
- Anya Keller 图片组合的开发部署记录