以Student、SC、Course 基本表为数据源,.创建一个名为VStu_cj的学生成绩视图,内容包括学号、姓名、课程名和成绩其中学号后两位用两个“*”代替,姓名的第2个字也用“*”代替。隐藏个人信息,即数据脱敏。
时间: 2024-06-09 08:05:03 浏览: 11
可以按照以下SQL语句创建VStu_cj视图:
```sql
CREATE VIEW VStu_cj AS
SELECT
CONCAT(LEFT(Student.Sno, LENGTH(Student.Sno) - 2), '**') AS Sno,
CONCAT(LEFT(Student.Sname, 1), '*', SUBSTRING(Student.Sname, 3)) AS Sname,
Course.Cname,
SC.Score
FROM
Student
JOIN
SC ON Student.Sno = SC.Sno
JOIN
Course ON SC.Cno = Course.Cno;
```
该视图将学号后两位替换为“**”,将姓名第二个字替换为“*”,并只显示学生的学号、姓名、课程名和成绩。这样可以达到数据脱敏的目的。
相关问题
以Student、SC、Course 基本表为数据源,创建一个名为VStu male的男生视图,内容包括学号、姓名、性别、出生日期、专业和年级。要求对视图添加记录时,只能添加男生。
可以使用以下SQL语句创建视图:
```sql
CREATE VIEW VStu_male AS
SELECT Student.Sno, Student.Sname, Student.Ssex, Student.Sbirthday, SC.Smajor, SC.Sgrade
FROM Student
INNER JOIN SC ON Student.Sno = SC.Sno
WHERE Student.Ssex = '男';
```
这个视图会从Student和SC两个基本表中获取数据,并且只选择“男”性别的学生。所以,当我们向这个视图中添加记录时,只能添加男生的信息。例如:
```sql
INSERT INTO VStu_male(Sno, Sname, Ssex, Sbirthday, Smajor, Sgrade)
VALUES('20210001', '张三', '男', '2002-01-01', '计算机科学与技术', '2021');
```
这个插入语句会成功执行,因为我们添加的是一个男生。如果我们尝试添加一个女生的信息,就会出现错误:
```sql
INSERT INTO VStu_male(Sno, Sname, Ssex, Sbirthday, Smajor, Sgrade)
VALUES('20210002', '李四', '女', '2002-02-02', '软件工程', '2021');
```
这个插入语句会失败,并且会提示错误信息,因为我们要求视图只包含男生的信息。
创建一个名为sc_view3的视图,由数据库gradem的student、course、sc表创建一个显示学号为“20050301”的学生选修课程(包括学生姓名、课程名称、成绩等信息)的视图。
可以按照以下 SQL 语句来创建名为 `sc_view3` 的视图:
```
CREATE VIEW sc_view3 AS
SELECT s.name AS student_name, c.name AS course_name, sc.score
FROM student s, course c, sc
WHERE s.sno = sc.sno AND c.cno = sc.cno AND s.sno = '20050301';
```
这个视图将会显示学号为 `20050301` 的学生选修的课程信息,包括学生姓名、课程名称和成绩。你可以根据需要进行调整和修改。注意,这个视图是基于数据库 `gradem` 中的 `student`、`course` 和 `sc` 表创建的。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)