From 5a72b02d1381f85ebdf99f1924b750fe4036e629 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E6=99=BA=E5=B3=B0?= <592926642@qq.com> Date: Mon, 21 Oct 2024 23:22:28 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BF=B5=E5=BF=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../20241021 \347\273\203\344\271\240.md" | 44 +++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 "\345\220\264\346\231\272\345\263\260/20241021 \347\273\203\344\271\240.md" diff --git "a/\345\220\264\346\231\272\345\263\260/20241021 \347\273\203\344\271\240.md" "b/\345\220\264\346\231\272\345\263\260/20241021 \347\273\203\344\271\240.md" new file mode 100644 index 0000000..e316dfc --- /dev/null +++ "b/\345\220\264\346\231\272\345\263\260/20241021 \347\273\203\344\271\240.md" @@ -0,0 +1,44 @@ +二、综合题(第1大题40分,第2大题30分,共70分) + +```sql +利用另外一个文件`initDb.sql`,完成以下题目: + + -- 1.1. (10分) 对学生姓名创建普通索引(`idx_StudentName`) + CREATE INDEX idx_StudentName on student(StudentName); + -- 1.2. (10分) 创建视图`V_StudentHobbyInfo`,其中包含姓名(`StudentName`),爱好(`Hobby`),特长(`Specility`)列,并分别取别名为`vw_StudentName`,`vw_Hoppy`,`vw_Speclitiy + CREATE view V_StudentHobbyInfo as SELECT s1.StudentName vw_StudentName,s2.Hobby vw_Hoppy,s2.Speciality vw_Speclitiy FROM student s1 join studentextinfo s2 on s1.StudentCode=s2.StudentCode; + -- 1.4. (5分) 查询学生`马又云`的生源地,要求显示:姓名(`StudentNameame`),生源地(`OriginPosition`) + SELECT s1.StudentName, s.OriginPosition from studentextinfo s JOIN student s1 ON s.StudentCode= s1.StudentCode WHERE s1.StudentCode=17130204; + -- 1.5. (5分) 查询学生表(`StudentInfo`)中还未还书的读者的学号(`StudentCode`)和姓名(`StudentName`),以及借书时间(`BorrowTime`) + SELECT s.StudentCode,s.StudentName, b.BorrowTime FROM student s join borrowrecord b on s.StudentCode=b.StudentCode WHERE b.ReturnTime IS null ; + -- 1.6. (5分) 查询借阅过书籍《射雕英雄传》的学生,要求显示:学生姓名(`StudentName`),学院(`School`),图书名(`BookName`),借阅时间(`BorrowTime` +with +a as (SELECT*from student), +b as(SELECT*from bookinfo), +c as(SELECT*from bookextinfo), +d as(SELECT*from borrowrecord) +SELECT*from a,b,c,d where a.StudentCode=d.StudentCode AND d.Barcode=c.Barcode and b.isbn=c.isbn and b.BookName='射雕英雄传'; +``` + + +2. (30分)某医院病房计算机管理中心需要如下信息: + + ``` + 科室:科编号、科名、科地址、科电话、医生姓名 + 病房:病房号、床位号、所属科室名 + 医生:姓名、职称、所属科室名、年龄、工作证号 + 病人:病历号、姓名、性别、诊断、主治医生、病房号 + ``` + 2.1. (10分)其中,一个科室有多个病房、多个医生;一个病房只能属于一个科室,一名医生只属于一个科室,但可负责多名病人的诊治,一个病人的主主治生只有一个。科编号是标识列,从1开始自增长,步进值为1,医生职称有:实习,初级,中级,高级。 + 请设计该表关系模式结构(数据库物理模型),要求: + + a. 中文名和英文名称清晰(可借助有道翻译工具,不允许开网页) + b. 表关系准确,包括主键,外键,标识列 + c. 将完成的设计截图,并且保存物理模型文件,命名为恰当的名称 + d. 将截图和物理模型文件放在自己的文件夹中 + + 2.2. (10分)创建存储过程实现:传入病历号,查询其对应的主治医生及其所在的病房号、床位号。 + + + + 2.3. (10分)创建触发器实现:当医生离职时,检查其是否还有未完成医治的病人,如果还存在病人则不予离职,否则可以离职。 -- Gitee