1.定义“SSCH”院学生基本情况视图V_SSCH; 创建之后再查一下看看有没有这个视图,结果显示查询成功 最开始的时候,我犯了一个错误,那就是在创建一个视图的时候,每个列一定要有属性名,同时属性名不能重复 查询如下: 如图: 6.通过视图V_SSCH,新增加一个学生记录 (‘S12’,‘YAN XI’,19, ‘SSCH’),并查询结果(显式) 7.通过视图V_SSCH,删除学号为“S12”学生信息,并查询结果 查询: 8.将视图V_SSCH中学号为“S12”的学生改名“中南人” 查询: (二) 表C 表SC,这里设置两个主键,因为表SC建立了表S与表C之间的关联 参照完整性: 用户定义完整性 3.用实验验证当操作违反了完整性约束时,系统如何处理? 答:下面的两个图很好地表示出系统如何处理的,首先执行ALTER TABLE S ADD CONSTRAINT CK_S_Sage CHECK(Sage < 30) 这条SQL语句,也就是说限定学生年龄在30岁以下 实验三结束。
数据库实验三
即要对视图VIEW进行操作,那肯定先要创建一个视图
(其中,AS后面要为名为V_SSCH的视图提供一个查询,查询也是要指定表名和查询的限定条件)CREATE VIEW V_SSCH AS SELECT * FROM S WHERE S.sdept = 'SSCH'
SELECT * FROM V_SSCH
2.将S,C,SC表中学生的学号,姓名,课程号,课程名,成绩定义为视图V_S_C_GCREATE VIEW V_S_C_G AS SELECT S.Sno,S.Sname,C.Cno,C.Cname,SC.grade FROM S,C,SC WHERE S.Sno = SC.Sno AND C.Cno = SC.Cno
通过语句查询一下SELECT * from V_S_C_G
3.将各院学生人数,平均年龄定义为视图V_NUM_AVGCREATE VIEW V_NUM_AVG AS SELECT S.sdept 院系, COUNT(S.Sno) 人数,AVG(S.Sage) 平均年龄 FROM S GROUP BY S.sdept
select * from V_NUM_AVG
4.将各位学生选修课程的门数及平均成绩定义为视图V_AVG_S_G并查询结果CREATE VIEW V_AVG_S_G AS SELECT COUNT(SC.Sno) 课程号, AVG(SC.grade) 平均成绩 FROM SC,C WHERE SC.Cno=C.Cno GROUP BY SC.Sno
SELECT * FROM V_AVG_S_G
5.查询平均成绩为90分以上的学生学号、姓名和成绩SELECT SC.Sno,S.Sname,SC.grade FROM SC,S WHERE S.Sno = SC.Sno AND SC.Sno IN (SELECT SC.Sno FROM SC GROUP BY SC.Sno HAVING AVG(SC.grade) > 90)
INSERT INTO V_SSCH(Sno,Sname,Sage,Sdept) VALUES('S12','YAN XI',19, 'SSCH');
SELECT * FROM V_SSCH WHERE Sno = 'S12'
DELETE from V_SSCH WHERE Sno='S12';
SELECT * FROM V_SSCH;
UPDATE V_SSCH SET Sno='中南人' where Sno='S12'
SELECT * from V_SSCH
(这道题要是有点忘了知识点可以看看 这个博客)
定义实体完整性:
实体完整性用于保证数据库中数据表的每一个特定实体的记录都是唯一的,约束种类有:PRIMARY KEY(主键)约束、IDENTITY(自增)约束 和 UNIQUE(唯一)约束。自增和唯一在这个简单的表中用不到,不过定义主键还是非常有必要的,也就是主键约束。本题就需要写关于能给这三个表添加主键的SQL。
给表S设一个主键约束,习惯上把编号或者流水号作为主键ALTER TABLE S ADD CONSTRAINT constraint_s PRIMARY KEY(Sno)
ALTER TABLE C ADD CONSTRAINT constraint_c PRIMARY KEY(Cno)
ALTER TABLE SC ADD CONSTRAINT constraint_sc PRIMARY KEY(Sno,Cno)
(建表时定义外键或者是添加外键,按照题目的意思应该是添加外键,同时需要清楚级联:on Delete cascade –级联删除
on update cascade –级联更新)alter table SC add constraint FK_SC_S Foreign key(Sno) references S(Sno) ON DELETE CASCADE ON UPDATE CASCADE
这个实际上就是检查约束ALTER TABLE S ADD CONSTRAINT CK_S_Sage CHECK(Sage < 30)
Alter table S add constraint S_Sno check(Sno between 100 and 1000)
在表中之间对之前某一个同学的年龄进行修改,比如我将“Smith”同学的年龄改为33,然后系统就报出异常,如下图所示,UPDATE语句和刚才名为”CK_S_Sage”的约束发生了冲突,语句终止。
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算