XJTU 软件系统分析与设计复习

参考这个学长的笔记基本够用了

我再补充一定数据库部分的做题思路

数据库设计

题目:

  1. 请简述数据库分析与设计的基本原则(注意答要点,不超过 60 字,6分)
  2. 根据范式的概念,请解释第一范式,第二范式产第三范式的概念?(6分)
  3. 设计整个系统的 ER模型(包括 RBAC),要求画出表间关系图(注:包含主、外键,并可以根据现有实体,合理增加属性信息),并利用第一范式到第二范式再到第三范式进行系统分析。(注意:按步骤完成,包括:每一个范式的下的设计说明是否满足要求,以核心业务实体来建模,其中基于每一个范式的分析5分,共15分)
  4. 请根据第三范式的表结构,进行完整性约束的分析。(注意:对每种完整性进行说明,并请进行具体的示例分析,共10分)
  5. 针对某注册学生A在2023年前10个月所有借阅书籍的总金额进行统计,请写出SQL实现代码(3分): (注意:系统暂无支付交易发生,只是借阅出去的书籍价格进行统计)

作答:

1. 数据库分析与设计基本原则

  • 完整性原则
  • 安全性原则
  • 一致性原则
  • 可扩展性原则
  • 业务逻辑与数据分离原则
  • 规范化原则

2. 范式

  • 1NF 数据库表中所有字段都不可分
  • 2NF 消除非主属性对码的部分函数依赖
  • 3NF 消除非主属性对码的传递函数依赖

3. 设计三种范式

思路:先设计3NF,再反推2NF和1NF,核心的思想是,合并表

3.1 3NF to 2NF
  • 增加非主属性对码的传递函数依赖。
  • 将1对多的关系的两张表合成一张表。
    在这里插入图片描述
3.2 2NF to 1NF
  • 增加非主属性对码的部分函数依赖。
  • 将多对多关系的三张表合并为一张表

在这里插入图片描述

4. 完整性约束分析

  • 实体完整性:规定表的每一行在表中是惟一的实体。
  • 域完整性:是指表中的列必须满足某种特定的数据类型约束,其中约束又包括取值范围、精度等规定。
  • 参照完整性:是指两个表的主键和外键的数据应一致,保证了表之间的数据的一致性,防止了数据丢失或无意义的数据在数据库中扩散。建立永久关联图,并设计关联上的参照完整性类型表。
  • 用户定义的完整性:不同的关系数据库系统根据其应用环境的不同,往往还需要一些特殊的约束条件。用户定义的完整性即是针对某个特定关系数据库的约束条件,它反映某一具体应用必须满足的语义要求。

5. SQL

忘干净了,赶紧复习

应该都是单表查询吧?

针对某注册学生A在2023年前10个月所有借阅书籍的总金额进行统计,请写出SQL实现代码

SELECT SUM(amount) AS total_amount
FROM BorrowRecords
WHERE student_id = 'A' -- 假设'A'是学生A的学生ID
AND YEAR(borrow_date) = 2023
AND MONTH(borrow_date) <= 10;

查询2022年“系统分析与设计”成绩在90以上的学员,写出SQL语句(3分)

SELECT student_id
FROM StudentGrades
WHERE course_name = '系统分析与设计'
AND grade > 90
AND year = 2022;
选择:select * from table1 where

插入:insert into table1(field1,field2) values(value1,value2)

删除:delete from table1 where

更新:update table1 set field1=value1 where

查找:select * from table1 where field1 like%value1%’

排序:select * from table1 order by field1,field2 [desc]

总数:select COUNT(*) as totalcount from table1

求和:select sum(field1) as sumvalue from table1

平均:select avg(field1) as avgvalue from table1

最大:select max(field1) as maxvalue from table1

最小:select min(field1) as minvalue from table1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值